jscpd
jscpd is a copy/paste detector for source code that finds duplicated blocks in more than 225 programming languages and document formats, using the Rabin-Karp algorithm. Copy/paste is a common source of technical debt, and jscpd reports where the duplicated blocks are. The README says the latest versions add a Rust-powered engine.
The newer part of the project is aimed at AI workflows. An `ai` reporter prints compact, token-efficient output (common-path-prefix compression, no code fragments) that can be piped into an LLM prompt; on the project's test fixtures it used about 1,100 estimated tokens against about 5,400 for the default console reporter, roughly 79% fewer. Two agent skills ship with it, a tool-reference skill and a dry-refactoring skill that guides reading clone output and extracting duplicates, installed with `npx skills add kucherenko/jscpd`. A separate jscpd-server package exposes detection as an MCP server over streamable HTTP. The main package provides a CLI and an API, other packages cover the core algorithm, tokenizer, finder, a LevelDB store for large repositories and HTML reporters, and the code is MIT licensed.
Features
Why choose it
Trade-offs
Maintenance check
- Last commit
- 2026-10-20
- Commits, last 90 days
- 100+
- Releases, last 90 days
- 16
- Latest release
- v5.4.2 (2026-10-20)
- Open issues
- 49
- Recent issues with at least one comment
- 1/13
Oldest week on the left; the latest four weeks are orange. Source: GitHub commit activity.
Status rule: archived on GitHub = Archived; last commit within 90 days = Active; 91 to 365 days = Slowing; older = Stale. All figures come from the GitHub API on the date shown.
Most discussed open issues
- #416 Programming API exemples not working11 comments · 2020-11-30
- #355 Add hosted microservice for jscpd (tryjscpd)6 comments · 2020-05-10
- #591 Facing slowness while running JSCPD 5 comments · 2023-06-07
- #221 Same code on multiple files5 comments · 2019-04-05
- #1015 Upstream: move Super Linter and MegaLinter off threshold 0 to --baseline-from-ref; fix the parallel report-path race3 comments · 2026-09-05
Issue titles are quoted from GitHub. Open the link to check whether a problem still applies to the version you use.
Compatibility
Quick start
Use cases
Alternatives
Comments
No comments yet. Be the first!