New Breakthrough AI Detection. Our best yet for AI-written source code. Catches 90% of AI/GPT code with 1.3% false flags. 90% caught, 1.3% false flags. Read more Read more
New: MCP integration. Run plagiarism scans from Claude, Cursor or any AI assistant. Run scans from Claude or Cursor. Set it up

Plagiarism checker for programming assignments

Programming assignments get copied in ways an essay checker cannot see: from a classmate, from last term, from GitHub, or from ChatGPT. Codequiry checks every submission against all four, leaves the starter code out, and shows you the matching lines.

2-day free trial. Checks every file against classmates, the web and AI, in 65+ languages.

91%
Handed in last term by another student 7 of 7 lines match a past-term submission
Example
This termaccount.cpp
1double Account::take(double x) {2 if (x <= 0 || x > funds)3 throw std::invalid_argument("x");4 funds -= x;5 entries.push_back(-x);6 return funds;7}
Past termaccount.cpp
1double Account::withdraw(double amt) {2 if (amt <= 0 || amt > balance)3 throw std::invalid_argument("amt");4 balance -= amt;5 log.push_back(-amt);6 return balance;7}
Past terms: 1 matchClassmates: no matchWeb sources: no match

A solution handed down from a student who took the course before, with the names changed (highlighted). Comparing only this term's class would miss it.

Used in programming courses at

  • Harvard University
  • Stanford University
  • ETH Zurich
  • MIT
  • University of Cambridge
  • University of Illinois Urbana-Champaign

Why code needs its own checker

A text checker like Turnitin compares words. In code, the words are the part students change first: rename the variables, rewrite the comments, reformat, and the text no longer matches while the program is the same.

Code checkers compare structure instead, the order of operations and control flow that stay put when the names change. Assignments bring their own problems on top of that:

  • Starter code is in every submission and should never count as a match.
  • Small solutions look alike. Ten lines that sort a list will resemble each other whoever wrote them.
  • Copies come from outside the class: last term, GitHub, Stack Overflow, and AI tools.

What gets checked

Classmates

Every submission against every other one in the assignment, including across sections.

Past terms

Earlier submissions to the same course, so a solution handed down still matches.

The web

GitHub, GitHub Gists, Stack Overflow, Software Heritage and the indexed web.

AI-written code

A detector trained on ChatGPT, Claude, Gemini and Copilot output, with its reasons shown. How it works.

Built for how assignments work

  • Starter code is left out. Upload it with the assignment and matches against it are removed.
  • Boilerplate is labeled. Matches on common code, like imports and standard patterns, are marked so you can tell them apart from real copying.
  • Whole projects work. Each student's submission is one ZIP with as many files and folders as it needs. Jupyter notebooks are supported.
  • 65+ languages, and a solution translated from one language to another can still match.
  • Submissions come in the way you collect them: a ZIP upload, your LMS including Canvas, the API, or Window, a student IDE that records pastes as they happen.

From upload to evidence

  1. Create the assignment, pick the language and add any starter code.
  2. Add the submissions. Upload a ZIP of the class or pull them from your LMS.
  3. Run the check. Results come back in minutes for a typical class.
  4. Sort by score. Each student has a peer, web and AI score, so the handful worth a closer look are at the top.
  5. Open the match. The two files sit side by side with the shared lines marked, ready to export as a report.
Two submissions side by side with the matching lines highlighted
A match opened side by side. The highlighted lines are what the two submissions share.

Check your next assignment

Upload the class as a ZIP. Results come back in minutes.

Start free trial

2-day free trial

What instructors say

“Teaching over 500 students per term, we faced a critical challenge: detecting code copied from ChatGPT and online sources without viable tools. Codequiry enables us to batch-process entire cohorts efficiently.”
Senior Lecturer, MIT
“Codequiry actually works, detecting AI-generated code and web plagiarism that outdated tools miss. We finally have real enforcement backing our academic integrity policies.”
Lecturer, Georgia Tech

Frequently asked questions

What is a programming assignment plagiarism checker?

A tool that compares students' source code, rather than prose, to find copied, shared or AI-generated work. It reads program structure, so renamed variables, new comments and reformatting do not hide a copy.

Can Turnitin check programming assignments?

Turnitin is built for essays and compares text. Code needs a checker that compares structure, handles starter code, and knows where code gets copied from, such as GitHub and Stack Overflow.

How do I stop starter code from being flagged?

Upload the starter code with the assignment. Code every student was given is then left out of the matches, so only what students wrote themselves is compared.

Can it check multi-file projects and Jupyter notebooks?

Yes. Upload each student's project as one ZIP, with as many files and folders as it needs. Jupyter notebooks are supported too.

Does it compare with previous terms?

Yes. Submissions can be checked against earlier terms of the same course, which catches a solution handed down from a student who took it before.

Which languages are supported?

More than 65, including Python, Java, C, C++, C#, JavaScript, TypeScript, Go, Rust, Kotlin, Swift, PHP, Ruby, R, MATLAB, SQL and assembly.

Can it detect code written by ChatGPT?

Yes. Every submission can also be checked by an AI code detector trained on output from ChatGPT, Claude, Gemini and Copilot. It reports a probability and the reasons behind it, for a person to weigh.

Check this week's assignment

Every submission against classmates, past terms, the web and AI, with the lines side by side.

Start free trial

2-day free trial

Just one assignment? Run a single check

Tools and sources referenced on this page

Codequiry is compared with these tools above. Each link goes to the project's official site so you can check the claims yourself.

  • MOSS (Measure of Software Similarity) Stanford University, Alex Aiken

    Free academic similarity service from 1994 that fingerprints code with winnowing and reports matching passages between submissions.

  • JPlag Karlsruhe Institute of Technology, open source

    Open-source token-based detector that compares programs with Greedy String Tiling and produces a similarity report per pair.

  • Dolos Ghent University, open source

    Open-source similarity tool built on tree-sitter parsing, with a web interface for exploring clusters of related submissions.

Topic index

Explore Codequiry's code plagiarism detection toolkit

Dig deeper into the most accurate source-code plagiarism checker on the market, every language, every detection engine, every academic-integrity use case.