jscpd vs NiCad
jscpd
jscpd.devNiCad
github.comSide by side
| Figure | jscpd | NiCad |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | Yes |
| Plans published | 2 | 1 |
| Spec score · Code Clone Detection Tools | 8.6 (#2) | 7.7 (#10) |
| Spec score · Code Duplication Detection Tools | 8.5 (#2) | 7.7 (#7) |
| Languages | The site says jscpd supports 224 languages. | Included language plugins cover C, C#, Java, Python, PHP, Ruby, WSDL, and ATL. |
| License | The project and its published packages use the permissive MIT license. | The project uses an MIT-style license permitting use, modification, distribution, sublicensing, and sale subject to its stated conditions. |
| Purpose | jscpd scans source code for duplicate code and can fail a build when duplication exceeds a configured threshold. | NiCad is a near-miss source code clone detection system. |
| Reports | Reporters include HTML, JSON, XML, README badges, SARIF, CodeClimate, and OpenMetrics formats. | Results include clone pairs and clone classes in XML-like formats, with optional browsable HTML reports. |
Plans
In their own words
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.
NiCad
NiCad is a near-miss source code clone detection system for finding similar fragments in a repository. It can analyze code at file, function, or block granularity. Included language plugins cover C, C#, Java, Python, PHP, Ruby, WSDL, and ATL; plugins for other languages can be added when a TXL grammar is available. Configuration files let users tailor renaming, filtering, abstraction, and normalization before comparison. Results include clone pairs and clone classes in XML-like formats, with optional browsable HTML reports. The default near-miss difference threshold is 0.30; a setting of 0.00 means exact clones. NiCadCross can report fragments from one system that also appear as clones in a second. The software is free under an MIT-style license, with stated conditions for use, modification, distribution, sublicensing, and sale. It runs on Linux, macOS, and Windows and can be run from its directory for personal use or installed system-wide. NiCad 7.0 requires OpenTxl 11 or later; building comparison tools requires Turing+ 6.2 or later.