Duplo
- Android app
- Not listed
- Free plan
- Yes
- Runs on
- Linux, Mac, Windows

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 plansCompared 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 20Where 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
- github.com/dlidstrom/Duplo· checked 28 Sept 2026
- github.com/dlidstrom/duplo-analyser· checked 28 Sept 2026

