Skip to content

ZeroTell Pro is an auto-renewing subscription, billed weekly, monthly or yearly. Cancel anytime in Dashboard → Subscription. See plans and prices.

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.

Add 2–10 submissions. Names, spacing and comments are ignored, so renamed copies still match.

each box needs at least 3 lines of code

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

  1. 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.

  2. 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.

  3. 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.

  4. You read the matching lines

    Pick a pair to see both files side by side with the matching regions highlighted.

Two ways to check

  • Compare submissions

    Check a class set or a pile of take-home tasks against each other. Runs entirely on our servers without any third-party service.

  • Search the web

    Up to 12 of the most distinctive lines of one file are searched as exact phrases, and only pages that actually contain them are listed.

  • Side-by-side view

    Matching lines are highlighted in both files with line numbers, so you can see what was copied and what was changed.

  • Honest numbers

    Similarity is the share of shared fingerprints, and the web score is the share of searched lines found online. Nothing is extrapolated.

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