Skip to content
SPECIFICTION
Get listed

Duplo

github.com

Free plan WindowsmacOSLinux
Visit github.com
Spec score 7.9 #5 of 23 in Code Clone Detection Tools

What it is

Duplo is a free tool for locating duplicated source-code blocks in large codebases. It has built-in language support for C/C++, Java, C#, VB, GCC assembly, Ada, Erlang, TypeScript and Swift, and can also scan arbitrary text files, including for duplicates within one file. For supported languages, it can filter comments, preprocessor directives and other syntax before checking for repeated code. Files can be provided through standard input or a separate file list. Duplo produces text reports as well as JSON and XML output. The project describes XML reports as usable in continuous integration tools such as GitHub Actions and TeamCity, and links to a GitHub Actions extension that can fail a build when duplicates are found. That extension has settings for minimum duplicate lines, minimum line length and maximum files reported. Prebuilt binaries are available for Alpine Linux, macOS and Windows; it can also be built from source. Duplo is free under GNU GPL version 2 or later, and is provided without warranty.

Spec sheet

Purpose
Duplo finds duplicated code blocks in large codebases.Read 29 Sep 2026 · github.com
Support
The maintainer asks users to open an issue for feedback, feature requests, and bug reports.Read 29 Sep 2026 · github.com
License
Duplo is free software under the GNU General Public License version 2 or, at the user's option, any later version, and is provided without warranty.Read 29 Sep 2026 · github.com
Action limits
The linked GitHub Action has configurable minimum duplicate lines and minimum line length, and a maximum number of files to report.Read 28 Sep 2026 · github.com
Caveat
The license section says Duplo is provided without warranty, including implied warranties of merchantability or fitness for a particular purpose.Read 28 Sep 2026 · github.com
CI integration
The project describes XML reports as usable in continuous integration tools such as GitHub Actions and TeamCity, and links to a GitHub Actions workflow extension.Read 29 Sep 2026 · github.com
Downloads
Pre-built binaries are available for Alpine Linux, macOS and Windows, and the project can also be built from source.Read 28 Sep 2026 · github.com
Filtering
For supported languages, Duplo can filter comments, compiler directives, and other syntax such as using statements from duplicate detection.Read 29 Sep 2026 · github.com
GitHub Actions
The maker links a GitHub Action that can fail a build when duplicate blocks are found.Read 28 Sep 2026 · github.com
Input
Files can be supplied through standard input or a separate file containing the file list.Read 29 Sep 2026 · github.com
Language support
Built-in support includes C/C++, Java, C#, VB, GCC assembly, Ada, Erlang, TypeScript, and Swift.Read 29 Sep 2026 · github.com
Limit
The README's quick-start example requires at least 20 lines for a duplicate, though command-line options can be adjusted.Read 29 Sep 2026 · github.com
Maintainer
Duplo was originally developed by Christian M. Ammann and is now maintained and developed by Daniel Lidström.Read 29 Sep 2026 · github.com
Performance
The README reports processing 266 Quake2 files and 102,740 lines in 9 seconds on modern hardware in 2025, and says multithreading offers almost linear improvement.Read 29 Sep 2026 · github.com
Reports
Duplo can output results as JSON or XML, and its XML can be displayed in a browser using an included stylesheet.Read 29 Sep 2026 · github.com
Text files
Duplo can detect duplicates in arbitrary text files, including duplicates within a single file.Read 29 Sep 2026 · github.com

Plans and prices

Duplo Free Free software under GNU GPL v2 or later · prebuilt binaries for Alpine Linux, macOS and Windows Read 29 Sep 2026 · github.com

Every Duplo plan and price →

Strong points and limits

Strong points

  • Supports nine named programming languages
  • Can scan arbitrary text files
  • Produces text, JSON and XML reports
  • Prebuilt binaries cover Alpine Linux, macOS and Windows

Limits

  • The quick-start example requires at least 20 duplicate lines
  • The software is provided without warranty

Who it suits

Duplo suits developers who want to scan repositories for repeated code or text and use reports in continuous integration. Its supported language filters are relevant when comments and other syntax should be excluded from comparisons.

Duplo in depth

Read the full write-up

Duplo is a free duplicate-code detector for developers who want to scan repositories and route findings into review or CI. Its language-aware filtering and configurable reports make it a focused tool for that job, but teams should tune the quick-start threshold and be comfortable with its no-warranty license terms.

Overview

Duplo searches large codebases for repeated source blocks, and can also find duplicates in arbitrary text files, including within one file. You can provide files through standard input or a separate file list, a useful fit for scripted scans. Its text-based clone detection stays focused on repetition rather than broader code-quality analysis.

For supported programming languages, Duplo can strip comments, preprocessor directives and other syntax before comparison. That helps reduce matches based on incidental text, though the quick-start example requires duplicates to span at least 20 lines. Command-line options can adjust the threshold, so teams should choose a setting that balances short-clone coverage against noisy findings.

Key features

Language-aware scanning and reports

Built-in support covers C/C++, Java, C#, VB, GCC assembly, Ada, Erlang, TypeScript and Swift; arbitrary text scanning broadens its use beyond those languages. Text, JSON and XML output serve different workflows, with XML described for use in CI tools such as GitHub Actions and TeamCity.

CI controls and performance

The linked GitHub Action can fail a build when it finds duplicate blocks. Its configurable minimum duplicate lines, minimum line length and maximum number of files to report give teams levers to limit noise and control report size. The README reports a scan of Quake2's 266 files and 102,740 lines in 9 seconds on modern hardware in 2025, and says multithreading can improve performance almost linearly. That is a useful indication of intended scale, not a guarantee for every repository or machine.

Pricing

Duplo costs nothing. The free plan is the software itself under GNU GPL version 2 or, at the user's option, any later version; it includes prebuilt binaries for Alpine Linux, macOS and Windows, with source builds also possible. There is no free trial because the software is free, and no seat or scan quota is stated. This makes it a straightforward choice for teams able to run and maintain a self-hosted tool, rather than buyers seeking a paid support plan.

The license permits use without charge, but the project disclaims warranties, including implied warranties of merchantability and fitness for a particular purpose. The README directs feedback, feature requests and bug reports to an issue tracker, so teams should weigh that support route and warranty limitation before making Duplo a critical CI dependency.

Platforms

Duplo supports Linux, macOS and Windows. Prebuilt downloads cover Alpine Linux, macOS and Windows; Linux users on other distributions may need to build from source. Self-hosting suits repository scans that should run in a team's own environment.

Who it's for

Duplo suits developers and teams that want a focused clone detector with language-aware filtering, machine-readable reports and a build-failing GitHub Actions path. It is less suitable for teams that need short duplicates detected without threshold tuning, broader code analysis, or contractual warranty and support terms.

Pros and cons

Pros: Broad built-in language coverage plus arbitrary text scanning makes it useful across varied repositories and text inputs.

Pros: JSON and XML reports, along with configurable GitHub Action limits, support review and CI workflows.

Pros: Free software and prebuilt binaries for three platforms avoid a subscription commitment.

Cons: The quick-start 20-line minimum can miss shorter duplicate blocks unless adjusted.

Cons: The GPL license disclaims warranties, and the README points users to issues for support rather than promising a service level.

Alternatives

For another free clone-detection option, compare Code Clone Detection Tools. Choose Algo VPN for self-hosted VPN setup scripts instead; it is a different category, and cloud infrastructure costs are separate. Consider jscpd, PMD, Simian Similarity Analyzer, CloneWorks, dcd, NiCad or QuickDup as other free alternatives; the choice among them depends on the fit of their individual capabilities and terms.

Verdict

Choose Duplo if you want free, self-hosted duplicate-block detection with language-aware filtering and CI-friendly reports across Linux, macOS or Windows. Its focused workflow and adjustable Action thresholds are the case for it; look elsewhere if the default 20-line floor, issue-based support or no-warranty terms do not suit your team's risk tolerance.

Verdict

Duplo offers configurable duplicate detection and report formats for codebase review and CI workflows. Its quick-start threshold and no-warranty terms are worth noting before adopting it.

Where Specifiction places it

Alternatives to DuploAll alternatives →