Built for students, writers and researchers
Code Plagiarism Checker by ZeroTell · renamed variables don't hide copies
Paste or upload several submissions to get a similarity matrix with matching lines highlighted side by side, or check a single file against code published on the web.
Similarity report
Your report will appear here: a similarity matrix, the most similar pairs and their matching lines side by side, or the web pages that contain your code.
How the Code Plagiarism Checker works
Code is normalized
Comments and spacing are dropped and every variable, function name, number and string is replaced by a placeholder, so renaming and reformatting change nothing.
Each file gets fingerprints
Overlapping runs of eight tokens are hashed and a winnowing step keeps a representative sample, the method behind the well-known MOSS system.
Every pair is compared
The share of fingerprints two submissions have in common becomes their similarity, shown in a matrix for up to 10 files.
You read the matching lines
Pick a pair to see both files side by side with the matching regions highlighted.
Two ways to check
Who uses it
Programming teachers
Find pairs of submissions that share structure even when variable names were changed.
Teaching assistants
Narrow a large set down to the few pairs worth reading closely.
Students
Check that code adapted from a tutorial is credited before you hand it in.
Engineering managers
See whether a snippet appears in public repositories or forums before it ships.
Frequently asked questions
No. Names, literals, comments and whitespace are removed before fingerprinting, so a copy with every variable renamed scores the same as an exact copy. Reordering whole functions lowers the score only slightly, because matches are found region by region.
Each submission is reduced to a set of fingerprints of eight-token sequences. Similarity is the overlap of two sets (shared fingerprints divided by the average set size), and the report also says what share of each file is covered.
Not by itself. Starter code, assignment templates, standard algorithms and very short exercises overlap naturally. Read the highlighted lines and talk to the people involved before drawing conclusions.
Up to 12 distinctive lines of your file are searched as exact phrases on the public web. It does not search private repositories or other users' submissions, so a clean result does not prove the code is original.
Not on the Pro plans* (*fair use: each comparison or web search counts as one run, up to 300 runs a day, and a web search also counts its searches toward 1,000 web searches a day). Without a plan, comparing 2–10 submissions uses 1 credit and a web search 2 credits. Both need a ZeroTell account.
No. Submissions are compared in memory and discarded. In web mode, the selected lines are sent to our search provider to run the search.
Find the pairs worth a closer look
Paste two or more submissions and see what they share.
Compare code