copydetect

Windows · Mac · Linux · Self-hosted · API

Freedom report

Two barsScore 5.6

  • Free tierNo free tier on record
  • Open codeNo open-source code on record
  • Runs widely3 of 6 device platforms
  • DocumentedPlans, terms and facts published

copydetect compares code directories and creates an HTML report highlighting matching code slices. It uses Winnowing document fingerprinting, an approach also used by MOSS, and Pygments tokenization to cover the 500-plus languages Pygments can detect and tokenize. You can compare test directories with reference code, such as previous submissions, and exclude boilerplate directories from matches. Noise, guarantee, and display thresholds adjust matching and what appears in reports. Install it with pip; it requires Python 3.7 or later. The command-line tool recursively searches supplied directories, while its Python API supports comparisons and HTML report generation. Reports can be saved to a chosen path, highlighted code can be truncated, and custom CSS can be linked. Configuration can be supplied through command-line arguments or JSON. The package is MIT-licensed and classified for Education with Beta development status. Its documentation cautions that it may not catch plagiarism designed to evade detection and that a match does not establish that plagiarism occurred.

Who it is for

It suits educators or developers who want to compare submitted code directories against reference code. It requires Python 3.7 or later and is classified as a Beta project.

What is good

  • Supports Pygments-tokenized coverage of 500+ languages
  • Can compare submissions with reference directories
  • Boilerplate directories can be excluded from matches
  • Thresholds tune detection and report visibility
  • Offers both command-line use and a Python API

What to know first

  • May miss plagiarism designed to evade detection
  • A match does not prove plagiarism occurred
  • Requires Python 3.7 or greater
  • Classified as Beta development status

Freedom251 review

copydetect: the full review

copydetect offers configurable directory comparisons and HTML reports for code review, including reference and boilerplate options. Treat matches as indicators rather than proof, and note that deliberate evasion may go undetected.

Overview

Copydetect is a Python tool for comparing code directories and producing HTML reports that highlight matching slices. It is best suited to educators and developers who need configurable, repository-level comparisons; its findings are prompts for review, not proof of copying.

Its MIT license and free plan make it an accessible option for self-managed checks. The trade-off is that users must run and interpret the tool themselves, and deliberate attempts to evade detection may escape it.

Key features

Copydetect uses Winnowing document fingerprinting, an approach also used by MOSS, and Pygments tokenization. That means it can process the 500+ languages Pygments can detect and tokenize, a useful range for mixed-language coursework or repositories. Tokenization does not make a match conclusive: similarities still need context and human judgment.

The command line recursively compares files in supplied directories; a basic invocation is copydetect -t DIRS. Separate reference directories allow comparisons with earlier submissions, while boilerplate directories exclude shared code from matches. Those options suit course reviews where prior work or starter files matter.

Filtering normalizes variables, function names, object names, and strings to token markers, reducing the influence of those surface differences. Noise, guarantee, and display thresholds adjust what is detected and shown. Settings can be supplied as command-line arguments or in a JSON configuration file, making configurations reusable. Reports can be saved to a chosen path, highlighted code can be truncated, and custom CSS can be linked.

A Python API offers CopyDetector, CodeFingerprint, compare_files, and HTML report generation, so it can fit scripted workflows. Installation uses pip and requires Python 3.7 or later. The package is classified as Python 3-only and operating-system independent; it supports API, Linux, macOS, Windows, and self-hosted use. It has no CI or IDE integration. The project is marked Beta, so teams seeking a mature, integrated workflow may prefer another tool.

Pricing

Copydetect is free, with a free plan and no free trial. There are no paid tiers or plan trade-offs described here; users give up a hosted subscription experience and instead install the package and manage their own comparisons. Its MIT license permits use under the license terms.

Platforms

Copydetect is available for Linux, macOS, and Windows, and can be self-hosted or used through its API. Its Python 3 requirement and pip installation make it a fit for environments that can run Python 3.7 or newer, rather than users looking for a standalone desktop application.

Who it's for

Educators comparing submissions, especially against prior work or shared boilerplate, are the clearest fit. Developers who want repository-level similarity checks and the option to script report generation may also find it useful. It is less suitable where a team needs CI or IDE integration, or where a similarity score must serve as definitive evidence: the tool cannot guarantee detection of evasion or prove plagiarism occurred.

Pros and cons

  • Pros: Broad tokenization coverage through Pygments supports more than 500 languages, useful for diverse code collections.
  • Pros: Reference and boilerplate directories help distinguish relevant overlap from earlier submissions and shared starter code.
  • Pros: Threshold controls, JSON configuration, a Python API, and customizable HTML reports give technical users ways to adapt comparisons and output.
  • Cons: Results indicate likely plagiarism rather than establish it, so human review remains essential.
  • Cons: The project warns that deliberate evasion may go undetected, limiting its value as a sole safeguard.
  • Cons: There is no CI or IDE integration, and Beta status may deter teams seeking a more integrated, settled workflow.

Alternatives

Code Clone Detection Tools is the broader category directory for readers who want to compare more options.

Consider Duplo if you want free software under GNU GPL v2 or later with prebuilt binaries for Alpine Linux, macOS, and Windows. Hound is another free option, with API, Linux, macOS, self-hosted, and web availability. Choose PMD if a free, downloadable static code analyzer under a BSD-style license better suits your needs.

CloneWorks is free, but use requires acknowledgement and redistribution and derivatives must remain free of charge under its license. dcd is free under AGPL-3.0, with a separate priority direct-email support plan whose price is custom pricing. jscpd is a free alternative. Simian Similarity Analyzer is another free option, under Apache License 2.0. NiCad is free and MIT-licensed, but requires OpenTxl 11 or later.

Verdict

Choose copydetect if you need a free, self-managed way to compare repositories, account for reference and boilerplate code, and generate configurable reports across a wide range of languages. Its strongest case is that combination of adjustable matching and flexible output; look elsewhere if you need CI or IDE integration, or if you need results that can stand as proof rather than an investigative lead.

Compared on code clone detection tools

Free plan
Yes
Clone detection method
token
Scan scope
repository
CI integration
No
IDE integration
No
Self-hosted option
Yes

Best copydetect alternatives

See all 20