Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Code Clone Detection Tools
  3. Duplo

Duplo

What it is

Duplo finds duplicated source code blocks in large codebases and can also scan arbitrary text files, including for repeats within one file. It supports C/C++, Java, C#, VB, GCC assembly, Ada, Erlang, TypeScript and Swift. For those languages, it can remove comments, preprocessor directives and other syntax before comparing code. Files can be passed through standard input or a separate file list. Reports are available as text, JSON or XML; XML can be used in continuous integration tools such as GitHub Actions and TeamCity. A linked GitHub Action can fail a build when duplicates are found, with configurable thresholds for duplicate lines and line length, plus a limit on reported files. Prebuilt binaries are available for Alpine Linux, macOS and Windows, or the project can be built from source. Duplo is free under GNU GPL version 2 or later, and supports Linux, macOS and Windows. Its quick-start example uses a 20-line minimum, which command-line options can change.

For and against

For

  • Supports nine listed programming language families.
  • Can scan arbitrary text files and single-file duplicates.
  • Offers text, JSON and XML reports.
  • A GitHub Action can fail builds on duplicates.
  • Prebuilt binaries cover Alpine Linux, macOS and Windows.

Against

  • Quick-start example requires at least 20 duplicate lines.
  • License disclaims warranties, including implied warranties.

The verdict

Duplo offers configurable duplicate detection, several report formats and a path to build checks through GitHub Actions. Its quick-start threshold and warranty disclaimer are worth noting before use.

Who it suits

Duplo suits developers reviewing large repositories for repeated code, including teams that want duplicate checks in a build workflow. It can also scan arbitrary text files and produce machine-readable reports.

Plans and prices

Duplo

Free

Free software under GNU GPL v2 or later · prebuilt binaries for Alpine Linux, macOS and Windows

Every plan, in full

On the record

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 · read 28 Sep 2026
Caveat
The license section says Duplo is provided without warranty, including implied warranties of merchantability or fitness for a particular purpose.github.com · read 28 Sep 2026
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.github.com · read 29 Sep 2026
Downloads
Pre-built binaries are available for Alpine Linux, macOS and Windows, and the project can also be built from source.github.com · read 28 Sep 2026
Filtering
For supported languages, Duplo can filter comments, compiler directives, and other syntax such as using statements from duplicate detection.github.com · read 29 Sep 2026
GitHub Actions
The maker links a GitHub Action that can fail a build when duplicate blocks are found.github.com · read 28 Sep 2026
Input
Files can be supplied through standard input or a separate file containing the file list.github.com · read 29 Sep 2026
Language support
Built-in support includes C/C++, Java, C#, VB, GCC assembly, Ada, Erlang, TypeScript, and Swift.github.com · read 29 Sep 2026
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.github.com · read 29 Sep 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 · read 29 Sep 2026
Maintainer
Duplo was originally developed by Christian M. Ammann and is now maintained and developed by Daniel Lidström.github.com · read 29 Sep 2026
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.github.com · read 29 Sep 2026
Purpose
Duplo finds duplicated code blocks in large codebases.github.com · read 29 Sep 2026
Reports
Duplo can output results as JSON or XML, and its XML can be displayed in a browser using an included stylesheet.github.com · read 29 Sep 2026
Support
The maintainer asks users to open an issue for feedback, feature requests, and bug reports.github.com · read 29 Sep 2026
Text files
Duplo can detect duplicates in arbitrary text files, including duplicates within a single file.github.com · read 29 Sep 2026

The review

Duplo is a free, self-hosted tool for finding repeated blocks in source code and text files. It is best suited to developers who want focused clone detection that can feed code review or continuous integration. Its language-aware filtering and report options are useful, though teams should tune the duplicate threshold and account for the GPL license.

Overview

Duplo scans repositories for duplicate blocks, including repeats within a single file. It accepts file input through standard input or a separate file list, giving developers options for fitting scans into scripts and existing workflows. Its scope is deliberately narrow: it identifies duplication rather than assessing broader code quality.

The quick-start example uses a minimum of 20 lines for a duplicate. Command-line options can adjust that threshold, so teams can balance catching shorter repeats against surfacing matches they do not consider useful. The project is free software under GNU GPL version 2 or, at the user's choice, a later version, and is provided without warranty, including implied warranties of merchantability or fitness for a particular purpose.

Key features

Language-aware filtering and text scanning

Built-in language support covers C/C++, Java, C#, VB, GCC assembly, Ada, Erlang, TypeScript and Swift. For those languages, Duplo can remove comments, preprocessor directives and other syntax before checking for repeated code. That gives teams a way to focus comparisons on code rather than incidental syntax. It can also scan arbitrary text files, including duplicates within one file, which extends its use beyond source code.

Reports and continuous integration

Duplo produces text, JSON and XML reports. XML can be used with CI tools such as GitHub Actions and TeamCity, and a linked GitHub Action can fail a build when it finds duplicate blocks. The action's configurable minimum duplicate lines, minimum line length and maximum number of files to report help teams tune build checks and limit report volume. The project also links a GitHub Actions workflow extension.

Performance and support

The README reports that Duplo processed Quake2's 266 files and 102,740 lines in 9 seconds on modern hardware in 2025; it says multithreading can improve performance almost linearly. That is an encouraging reference point, not a guarantee for other repositories or hardware. The README directs users to open an issue for feedback, feature requests and bug reports, so the stated support route is community-facing rather than a dedicated support channel.

Pricing

Duplo costs nothing. The free software plan includes pre-built binaries for Alpine Linux, macOS and Windows, with the option to build from source. There is no free trial because the software is free, and no paid tier or seat-based plan is described. Its GPL terms matter to teams evaluating adoption and redistribution, while the warranty disclaimer means users receive no stated warranty of merchantability or fitness for a particular purpose.

Platforms

Duplo supports Linux, macOS and Windows. Pre-built binaries are available for Alpine Linux, macOS and Windows; users can also build it from source. It is self-hosted, which suits teams that want to run scans within their own repository workflows rather than use a hosted service.

Who it's for

Duplo is a good fit for developers and teams that need duplicate-block detection across large codebases, want syntax-aware filtering for its supported languages, or need reports that can flow into CI. Its arbitrary-text scanning and file-list input also suit scripted checks beyond conventional source files. It is less suitable for teams seeking a broader code-quality analyzer, a hosted product, or support with a stated response commitment.

Pros and cons

  • Pros: Built-in support for nine language families plus arbitrary text gives teams a broad range of scan targets.
  • Pros: Text, JSON and XML output, along with a build-failing GitHub Action, make it adaptable to review and CI workflows.
  • Pros: Free software, pre-built binaries for three operating systems and source builds offer flexible deployment without a paid plan.
  • Cons: The quick-start's 20-line minimum may miss shorter duplicates unless users adjust the threshold.
  • Cons: GPL licensing and an explicit warranty disclaimer may not suit every organization's adoption or risk requirements.
  • Cons: Issue-based support is the stated route for feedback and bug reports, not a dedicated support service.

Alternatives

Code Clone Detection Tools is a useful place to compare other options. Choose PMD instead if its downloadable static code analyzer and BSD-style license better match your needs. dcd is another free option for Linux and macOS, with priority direct email support offered as a separate plan. Consider NiCad if its MIT license suits your project and you can meet its OpenTxl 11 or later requirement. phpcpd-next may fit Linux and API-oriented workflows where PHP 8.4 or later and its required extensions are available. Simian Similarity Analyzer is another free option for Linux, macOS and Windows. CloneWorks is free, but its acknowledgement and redistribution terms are important constraints. CopyPaste is a free, open-source alternative for macOS and Windows. Algo VPN is a free, self-hosted VPN setup tool rather than a code-clone detector.

Verdict

Choose Duplo if you want a free, self-hosted duplicate detector with language-aware filtering, several report formats and a route to build checks through GitHub Actions. Its focused scope and adjustable threshold make it practical for teams that can tune their own checks. Look elsewhere if you need broader code analysis, a more formal support arrangement, or terms and warranty protections that fit your organization's requirements.

Alternatives to Duplo

Every alternative, ranked