Duplo

B
B tier on Code Clone Detection ToolsScore 7.2 · #1 of 23
Android app
Not listed
Free plan
Yes
Runs on
Linux, Mac, Windows
github.com
The Duplo homepage

Summary

Duplo is free software for finding duplicated source code blocks in large codebases. It includes support for C/C++, Java, C#, VB, GCC assembly, Ada, Erlang, TypeScript, and Swift, and can scan arbitrary text files, including duplicates within a single file. For supported languages, it can remove comments, preprocessor directives, and other syntax before comparing code. Files can be supplied through standard input or a separate file list. Duplo produces text, JSON, and XML reports; the project describes XML output as usable with continuous integration tools such as GitHub Actions and TeamCity. A linked GitHub Actions extension can fail a build when duplicates are found and offers settings for minimum duplicate lines, minimum line length, and maximum reported files. Prebuilt binaries are available for Alpine Linux, macOS, and Windows, and the project can be built from source. Duplo is licensed under GNU GPL version 2 or later. Its license disclaims warranties, including implied warranties of merchantability or fitness for a particular purpose.

Who it is for

It suits developers who want to find repeated code or text in repositories and use reports in continuous integration. It may also fit projects that need prebuilt binaries for Alpine Linux, macOS, or Windows.

What is good

  • Supports nine listed programming-language families.
  • Can scan arbitrary text, including within one file.
  • Produces text, JSON, and XML reports.
  • GitHub Actions extension can fail builds on duplicates.

What to know first

  • Quick-start example requires at least 20 lines for a duplicate.
  • The license disclaims warranties.
  • Prebuilt binaries are listed for Alpine Linux, macOS, and Windows.

Everything Xiaomi review

Duplo: the full review

Duplo offers language-aware duplicate detection, text scanning, and report formats suited to repository workflows. Check its line threshold and license disclaimer when deciding whether it fits your use.

Overview

Duplo is a free, self-hosted duplicate-code detector for repository scans, best suited to developers who want a focused way to identify repeated blocks and feed results into review or CI workflows. Its language-aware filtering and machine-readable reports make it practical for that job, but the default 20-line threshold and GPL terms deserve attention before adopting it.

It can scan arbitrary text as well as source code, including repetitions within one file, and accepts files through standard input or a separate file list. That flexibility suits scripted workflows; the text-based clone detection remains narrowly focused on duplication rather than broader code quality.

Key features

Language-aware scanning

Built-in support covers C/C++, Java, C#, VB, GCC assembly, Ada, Erlang, TypeScript, and Swift. For supported languages, Duplo can strip comments, preprocessor directives, and other syntax before comparing blocks. This helps teams focus on code structure instead of matching incidental syntax, while arbitrary text scanning extends its use beyond source files.

Reports and CI

Duplo produces text, JSON, and XML reports. XML can be used with CI tools such as GitHub Actions and TeamCity, and the maker links a GitHub Action that can fail a build when duplicates are found. The action offers configurable minimum duplicate lines, minimum line length, and maximum files to report, which gives teams control over noise and report size.

The quick-start example requires at least 20 lines for a duplicate, though command-line options can change that threshold. A high minimum can miss shorter repetition; lowering it may bring more matches to assess. The README reports that processing Quake2’s 266 files and 102,740 lines took 9 seconds on modern hardware in 2025, and says multithreading can improve performance almost linearly. That gives an indication of intended scale, not a guarantee for every repository or machine.

Pricing

Duplo is free software: the Duplo plan costs 0.00 USD per free and includes prebuilt binaries for Alpine Linux, macOS, and Windows. There is no paid tier or trial to weigh. Users can also build it from source. The trade-off is licensing: Duplo is distributed under GNU GPL version 2 or, at the user’s option, any later version, so teams should check that its terms fit their use.

Platforms

Duplo supports Linux, macOS, and Windows, with prebuilt binaries available for Alpine Linux, macOS, and Windows. It is self-hosted, making it appropriate for teams that want to run repository scans in their own environment rather than rely on a hosted service.

Who it's for

Duplo fits developers and teams that need a focused duplicate-block scan across large codebases, especially when they want text, JSON, or XML output or a build-failing GitHub Action. Its broad language list and arbitrary-text support are useful when a repository contains more than conventional source files. It is less suitable for teams seeking a general code-quality platform or unable to accommodate GPL licensing and the stated warranty disclaimer.

Pros and cons

  • Useful language and text coverage: built-in syntax filtering for nine language groups, plus arbitrary text scans, gives it reach beyond one language or source format.
  • Workflow-friendly output: JSON and XML reports, standard-input and file-list inputs, and a linked GitHub Action support scripted and CI use.
  • Threshold needs tuning: the quick-start’s 20-line minimum may not suit teams looking for shorter duplicate blocks.
  • Warranty disclaimer: the license section disclaims warranty, including implied warranties of merchantability and fitness for a particular purpose.

Alternatives

Browse Code Clone Detection Tools for more options. Choose PMD if a BSD-style licensed downloadable static code analyzer better matches your needs. NiCad is another free option, though it requires OpenTxl 11 or later. Simian Similarity Analyzer is free and Apache License 2.0-licensed. Consider CloneWorks if its acknowledgement and free redistribution and derivative-work conditions suit your use. dcd is a free option for Linux and macOS under AGPL-3.0; it also offers priority direct email support from the developer, with custom pricing. jscpd, copydetect, and Hound are other alternatives to compare.

Verdict

Choose Duplo if you want a free, self-hosted duplicate-code scanner with language-aware filtering and reports that can feed CI. Its main advantage is the combination of broad text and language coverage with configurable build checks; look elsewhere if its line threshold, GPL terms, or warranty disclaimer do not fit your team.

Duplo plans and pricing

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

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 20

Where it ranks on Everything Xiaomi

Is Duplo yours?

Claim it for free: prove the domain, then correct facts, plans and screenshots. An editor reviews every change.

Sources