copydetect

C
C tier on Code Clone Detection ToolsScore 6.7 · #10 of 23
Android app
Not listed
Free plan
No
Runs on
api, Linux, Mac, self-hosted, Windows
github.com
The copydetect homepage

Summary

copydetect is a free tool for comparing code directories and producing an HTML report that highlights matching code slices. It uses Winnowing document fingerprinting and Pygments tokenization, which gives it coverage of 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. Settings for noise, guarantee, and display thresholds adjust matching and what appears in reports. It can be installed with pip and requires Python 3.7 or later. The command-line tool recursively searches supplied directories, while a 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 on the command line or in JSON. The MIT-licensed package is classified for Education and has Beta development status. Its documentation warns that it may not catch deliberate evasion and that matches do not establish that plagiarism occurred.

Who it is for

copydetect may suit educators or developers comparing code submissions and repositories. It is intended for users comfortable with Python installation or command-line and API workflows.

What is good

  • Compares test directories with reference code
  • Boilerplate directories can be excluded
  • Thresholds tune matching and report visibility
  • Supports 500+ tokenizable Pygments languages
  • Offers command-line and Python API use

What to know first

  • Requires Python 3.7 or greater
  • May miss plagiarism designed to evade detection
  • A match does not prove plagiarism occurred
  • No listed CI or IDE integration

Everything Xiaomi review

copydetect: the full review

copydetect provides configurable directory comparisons and reports for identifying likely copied code. Treat matches as indicators for review, not proof, and keep its evasion limitation in mind.

Overview

Copydetect is a free, Python-based tool for comparing code directories and producing reports of matching code. It suits educators and developers who want configurable, repository-level checks without a hosted subscription. Its results are useful leads for investigation, but they cannot establish plagiarism or reliably catch deliberate evasion.

Key features

Copydetect uses Winnowing document fingerprinting, an approach also used by MOSS, and Pygments tokenization to handle more than 500 languages that Pygments can detect and tokenize. That breadth makes it practical for mixed-language coursework or repositories; it does not remove the need to review matches in context.

The command-line tool recursively compares files in supplied directories; its simplest invocation is copydetect -t DIRS. Separate reference directories let users compare submissions with earlier work, while boilerplate directories can exclude shared starter code. This is a useful distinction for course workflows, where a common template should not dominate the report.

Filtering replaces variable, function and object names, and strings with token markers, shifting comparison away from those surface differences. Noise, guarantee and display thresholds let users tune detection and report visibility. Settings can be passed as command-line arguments or through a JSON configuration file, which supports repeatable configurations but requires users to choose appropriate thresholds.

The Python API includes CopyDetector, CodeFingerprint, compare_files and HTML report generation. Reports can be written to a chosen path, highlighted code can be truncated, and custom CSS can be linked. The package installs with pip and requires Python 3.7 or later. Copydetect is MIT-licensed, operating-system independent, and classified for Education and as a Beta project.

Pricing

Copydetect is free software under the MIT License, with no free trial. There are no paid tiers or seat and scan quotas in its stated pricing model, making it suitable where a team can install and operate the package itself. The trade-off is that this is a package and API, not a paid managed service.

Platforms

Copydetect is classified for Linux, macOS and Windows, as well as API and self-hosted use. It is Python 3 only and requires Python 3.7 or later. Those requirements suit users comfortable with Python installation and command-line workflows; readers seeking an IDE plugin or CI integration should look elsewhere, as neither is supported.

Who it's for

Educators comparing submissions, and developers checking repositories against reference code, are the clearest fit. Its configurable exclusions and report controls help when comparisons need to account for boilerplate or different review thresholds. It is a poor fit as a standalone verdict system: matching code is evidence to inspect, not proof of copying, and the project does not guarantee detection when someone deliberately evades it.

Pros and cons

  • Pros: Pygments language coverage spans more than 500 tokenizable languages, so users are not confined to a short list of common programming languages.
  • Pros: Reference and boilerplate directories support comparisons that distinguish prior work and shared starter code from the test material.
  • Pros: Thresholds, JSON configuration and customizable HTML reports provide control over how comparisons are run and presented.
  • Cons: Detection is not guaranteed against deliberate evasion, and a match cannot prove plagiarism; human review remains essential.
  • Cons: Python 3.7 or later and command-line or API use make it less suitable for users who want an IDE-integrated or CI-integrated workflow.
  • Cons: Beta development status is a caveat for institutions that need a mature, supported system.

Alternatives

Code Clone Detection Tools is the broader category directory for readers comparing clone-detection options.

Duplo is a free alternative for Linux, macOS and Windows users who want software distributed under GNU GPL v2 or later, with prebuilt binaries for Alpine Linux, macOS and Windows.

Hound is a free alternative with API, self-hosted and web platform options as well as Linux and macOS support.

PMD is a free, BSD-style-licensed static code analyzer for Linux, macOS, Windows and self-hosted use.

Simian Similarity Analyzer is a free, open-source option under the Apache License 2.0 for Linux, macOS and Windows.

CloneWorks is free on Linux, macOS and Windows, but its license requires acknowledgement and that redistribution and derivatives remain free of charge.

dcd is a free AGPL-3.0 option for Linux and macOS; it also offers priority direct email support at custom pricing.

jscpd is a free alternative available for API, self-hosted and web use, as well as Linux, macOS and Windows.

Algo VPN is another free option, with Android, iOS, Linux, macOS and Windows support.

Verdict

Choose copydetect if you need a free, configurable way to compare code directories across many tokenizable languages, especially for education or reference-based review. Its main advantage is the combination of directory controls, filtering and adjustable HTML reporting; look elsewhere if you need integrated CI or IDE workflows, or a tool that can deliver a definitive plagiarism finding.

Compared on code clone detection tools

Free plan
Yesgithub.com
Clone detection method
tokengithub.com
Scan scope
repositorygithub.com
CI integration
Nogithub.com
IDE integration
Nogithub.com
Self-hosted option
Yesgithub.com

Facts

Purpose
Copydetect is a code plagiarism detection tool that compares code directories and generates an HTML report showing copied slices.copydetect.readthedocs.io · 1 Oct 2026
Detection method
It uses the Winnowing document-fingerprinting approach used by the MOSS platform.copydetect.readthedocs.io · 1 Oct 2026
Language coverage
Pygments tokenization gives copydetect support for all 500+ languages that Pygments can detect and tokenize.copydetect.readthedocs.io · 1 Oct 2026
Installation
The package is installed with pip and requires Python 3.7 or greater.pypi.org · 1 Oct 2026
Command line
The simplest command-line usage is copydetect -t DIRS, which recursively searches supplied directories and compares files.github.com · 1 Oct 2026
Reference code
Separate reference directories can be supplied, including previous submissions, and boilerplate directories can exclude provided code from plagiarism matches.github.com · 1 Oct 2026
Filtering
Tokenization and filtering replace variable names with V, function names with F, object names with O, and strings with S.copydetect.readthedocs.io · 1 Oct 2026
Sensitivity controls
Noise, guarantee, and display thresholds tune what matching code is detected and shown in reports.github.com · 1 Oct 2026
Python API
Copydetect provides a Python API with CopyDetector, CodeFingerprint, compare_files, and HTML report generation.copydetect.readthedocs.io · 1 Oct 2026
Output customization
Reports can be saved to a specified output path, highlighted code can be truncated, and custom CSS files can be linked.github.com · 1 Oct 2026
Detection limitation
The documentation says copydetect identifies likely plagiarism, is not guaranteed to catch dedicated evasion, and does not prove plagiarism occurred.copydetect.readthedocs.io · 1 Oct 2026
License
The package is released under the MIT License.pypi.org · 1 Oct 2026
Audience
PyPI classifies copydetect as intended for Education and as a Beta development-status project.pypi.org · 1 Oct 2026
Platform support
PyPI classifies the package as operating-system independent and Python 3 only.pypi.org · 1 Oct 2026
Method
It is based on the Winnowing document fingerprinting approach, also used by MOSS.github.com · 2 Oct 2026
Language support
It uses Pygments for tokenization and supports the 500+ languages Pygments can detect and tokenize.github.com · 2 Oct 2026
Comparison options
Users can compare test directories with reference directories and exclude matches found in boilerplate directories.github.com · 2 Oct 2026
Tuning
Noise, guarantee, and display thresholds can be configured to adjust matching and report visibility.github.com · 2 Oct 2026
Configuration
Settings can be supplied through command-line arguments or a JSON configuration file.github.com · 2 Oct 2026
Platforms
The package is classified as operating-system independent and provides a Windows command entry point.pypi.org · 2 Oct 2026
Limitations
The project says it is not guaranteed to catch plagiarism designed to evade detection and cannot guarantee that plagiarism occurred.github.com · 2 Oct 2026
Release
PyPI lists version 0.5.0, released March 9, 2024.pypi.org · 2 Oct 2026

Best copydetect alternatives

See all 20

Where it ranks on Everything Xiaomi

Is copydetect yours?

Claim it for free: prove the domain, then correct facts, plans and screenshots. An editor reviews every change.

Sources