Duplo

API—OSS—FREEyesDOCS5/5
DU6.0#4 of 23
—WeboutWindowsoutMacoutLinux—Android—iOS

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 12

Where it ranks on Inferse

Sources