Duplo
Ranked in Code Clone Detection Tools ·Free plan
About
Duplo finds duplicated source code blocks across repositories and can also scan arbitrary text files, including for repeats within one file. It has built-in support for C/C++, Java, C#, VB, GCC assembly, Ada, Erlang, TypeScript, and Swift. For supported languages, it can strip comments, preprocessor directives, and other syntax before checking for duplication. Files can be supplied directly, through standard input, or from a separate file list. Reports are available as text, JSON, and XML; the project describes XML output as usable in continuous integration tools such as GitHub Actions and TeamCity. A linked GitHub Action can fail a build when duplicates are found, with settings for minimum duplicate lines, minimum line length, and maximum files reported. Duplo is free software under GNU GPL version 2 or later, with prebuilt binaries for Alpine Linux, macOS, and Windows, as well as a source-build option. The README's quick-start example requires 20 lines for a duplicate, though command-line options can be adjusted.
Who it is for
Duplo suits developers and teams looking for duplicate-code checks across large repositories or text files, including as part of a CI workflow. It runs on Linux, macOS, and Windows and is free under GNU GPL version 2 or later.
What is good
- Scans supported programming languages and arbitrary text files
- Can strip comments and preprocessor directives before comparison
- Produces text, JSON, and XML reports
- Linked GitHub Action can fail builds on duplicates
- Prebuilt binaries cover Alpine Linux, macOS, and Windows
What to know first
- Quick-start example requires 20 lines for a duplicate
- GPL v2-or-later licensing may not suit every project
- Provided without warranty
Verdict
Duplo offers repository and text-file duplicate detection with multiple report formats and a linked GitHub Actions workflow. Check the quick-start threshold and GPL license against your needs before adopting it.
Compared on code clone detection tools
- Free plan
- Yesgithub.com
- Clone detection method
- textgithub.com
- Scan scope
- repositorygithub.com
- CI integration
- Yesgithub.com
- Self-hosted option
- Yesgithub.com
Facts
- Purpose
- Duplo finds duplicated source code blocks in large codebases.github.com · 28 Sept 2026
- Language support
- It has built in support for C/C++, Java, C#, VB, GCC assembly, Ada, Erlang, TypeScript and Swift, and can also scan arbitrary text files.github.com · 28 Sept 2026
- Filtering
- For supported languages, Duplo can remove comments, preprocessor directives and other syntax before checking for duplicate code.github.com · 28 Sept 2026
- Reports
- It can produce JSON and XML output as well as text reports.github.com · 28 Sept 2026
- GitHub Actions
- The maker links a GitHub Action that can fail a build when duplicate blocks are found.github.com · 28 Sept 2026
- Action limits
- The linked GitHub Action has configurable minimum duplicate lines and minimum line length, and a maximum number of files to report.github.com · 28 Sept 2026
- Performance
- The README reports processing Quake2's 266 files and 102,740 lines in 9 seconds on modern hardware in 2025, and says multithreading can improve performance almost linearly.github.com · 28 Sept 2026
- Downloads
- Pre-built binaries are available for Alpine Linux, macOS and Windows, and the project can also be built from source.github.com · 28 Sept 2026
- Support
- The README directs users to open an issue for feedback, feature requests and bug reports.github.com · 28 Sept 2026
- License
- Duplo is free software under GNU GPL version 2 or, at the user's option, any later version.github.com · 28 Sept 2026
- Caveat
- The license section says Duplo is provided without warranty, including implied warranties of merchantability or fitness for a particular purpose.github.com · 28 Sept 2026
- Text files
- Duplo can detect duplicates in arbitrary text files, including duplicates within a single file.github.com · 29 Sept 2026
- Input
- Files can be supplied through standard input or a separate file containing the file list.github.com · 29 Sept 2026
- Limit
- The README's quick-start example requires at least 20 lines for a duplicate, though command-line options can be adjusted.github.com · 29 Sept 2026
- Maintainer
- Duplo was originally developed by Christian M. Ammann and is now maintained and developed by Daniel Lidström.github.com · 29 Sept 2026
Best Duplo alternatives
See all 12Where it ranks on Inferse
Sources
- github.com/dlidstrom/Duplo· checked 28 Sept 2026
- github.com/dlidstrom/duplo-analyser· checked 28 Sept 2026
