Dolos vs jscpd
Dolos
dolos.ugent.bejscpd
jscpd.devSide by side
| Figure | Dolos | jscpd |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | Yes | Yes |
| Web | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 2 | 2 |
| Spec score · Code Duplication Detection Tools | 8.7 (#1) | 8.5 (#2) |
| Languages | Dolos uses Tree-sitter parsers and supports common languages including Bash, C, C++, C#, Elm, JavaScript, Java, PHP, Python, and TypeScript out of the box. | The site says jscpd supports 224 languages. |
| Maker | Dolos is developed by Team Dodona at Ghent University in Belgium. | The site credits Andrey Kucherenko and contributors; it does not state a headquarters or founding year in the pages opened. |
| Purpose | Dolos detects plagiarism by finding similarities between source code submissions. | jscpd scans source code for duplicate code and can fail a build when duplication exceeds a configured threshold. |
| Reports | Reports include similarity, total overlap, and the longest matching fragment for file pairs. | Reporters include HTML, JSON, XML, README badges, SARIF, CodeClimate, and OpenMetrics formats. |
| Security statement | The home page describes the hosted web application as secure, private and fast. | Snyk reports no direct vulnerabilities and no known security issues for the version it analyzed, excluding dependency vulnerabilities. |
| Self-hosting | The open-source web application can be hosted by users on their own infrastructure. | The product is distributed as a local binary, package, container or source build and has no vendor-hosted execution requirement stated. |
| What it does | Dolos detects similarities and possible plagiarism among programming source-code submissions. | jscpd detects duplicated source-code blocks and can fail builds when configured duplication thresholds are exceeded. |
Plans
In their own words
Dolos
Dolos is a free, open-source tool for finding similarities between source-code submissions, particularly for teachers reviewing tests, exams, and exercises where collaboration may be allowed in small groups. Its analysis process tokenizes files, fingerprints token sequences, indexes matches, and produces reports. For each file pair, reports include similarity, total overlap, and the longest matching fragment. Dolos uses Tree-sitter parsers and supports languages including Bash, C, C++, C#, Elm, JavaScript, Java, PHP, Python, and TypeScript. The web app accepts ZIP files and detects languages from file extensions; in mixed-language archives, it analyzes only the dominant language unless a language is selected. Its public API accepts ZIP submissions up to 10 MB, with the CLI or library recommended for larger submissions. Analyses can also run locally, with results displayed in a browser, or on a self-hosted server. The free web app is hosted on Ghent University servers in Belgium. Dolos provides a JSON API for integrations such as Dodona and lists CSV as a report export format.
jscpd
jscpd is a free, open-source tool for finding repeated code in repositories. It can fail a build when duplication exceeds a configured threshold, making it usable in local development and CI. The project says it supports 224 languages. Exact clones are detected by default, while renamed, near-miss, and semantic clone checks are optional; semantic detection is experimental.
Version 5 is available as a self-contained native binary that does not need Node.js, with direct macOS, Linux, and Windows binaries for x64 and ARM64. Reports include HTML, JSON, XML, README badges, SARIF, CodeClimate, and OpenMetrics. The GitHub Action can enforce a threshold and upload SARIF for GitHub Code Scanning, and GitLab CI reporters are documented. Developers can also use pre-commit hooks or Docker. A dashboard summarizes project size, duplication, complexity, dead code, and a health score. Dead-code analysis covers JavaScript, TypeScript, and Python, plus Rust when compiler diagnostics are supplied.