jdupes
jdupes.com
What it is
jdupes is a free utility for finding and handling exact duplicate files on Linux, macOS, and Windows. It identifies files that are fully identical rather than matching images, sounds, or other formats by similarity. Matching can use file size, hashes, and byte-for-byte comparison, with optional partial-hash matching. The project says it checks matching data after hashing to reduce the chance of false matches from hash collisions. Found duplicates can be reviewed before deletion, deleted without prompting, linked, summarized, or handled through copy-on-write deduplication. On Linux and Unix, the instructions use command-line directory paths; the project also provides a native Windows port, including support for Unicode. Docker use is documented, and standard output can feed shell scripts. A database can retain scan metadata for repeat runs, though the project labels that feature as under development and notes quirks. The README warns that quick matching skips byte-for-byte checks and can classify non-duplicates as duplicates. It also warns that disabling file-change checks creates a security vulnerability, especially when linking or deleting. jdupes is distributed under the MIT License.
Spec sheet
- What it does
- jdupes scans directories for duplicate files and can print, delete, link, or deduplicate matching sets.Read 15 Oct 2026 · manpages.debian.org
- Purpose
- jdupes identifies duplicate files and can delete them, create hard links or symlinks, and perform block-level deduplication.Read 5 Oct 2026 · github.com
- Integrations
- The README documents Docker usage and says standard output can be piped to shell scripts for processing match sets.Read 5 Oct 2026 · github.com
- Support
- The README directs bug reports and questions to Jody Bruchon by email.Read 5 Oct 2026 · github.com
- License
- The software is released under the MIT License.Read 15 Oct 2026 · manpages.debian.org
- Founded
- 2015Read 19 Oct 2026 · jdupes.com
- AlternativeTo listing
- AlternativeTo categorizes jdupes as a free, open-source duplicate-file finder and says binary releases are available for Windows and Mac OS X.Read 15 Oct 2026 · alternativeto.net
- Btrfs deduplication
- The dedupe action can invoke filesystem-level block sharing through supported CoW or reflink filesystems.Read 15 Oct 2026 · manpages.debian.org
- Container use
- The README provides a Docker command example for scanning a mounted directory.Read 5 Oct 2026 · github.com
- Data safety
- The project says it verifies matching file data after hashing to reduce the risk of false matches from hash collisions.Read 5 Oct 2026 · github.com
- Debian versions
- Debian Sources lists maintained packages from 1.6 through 1.31.1-1 across current and older releases.Read 15 Oct 2026 · sources.debian.org
- Distribution availability
- Ubuntu Questing lists jdupes 1.28.0-1 in its Universe repository.Read 15 Oct 2026 · packages.ubuntu.com
- Documentation depth
- The Debian manpage documents command syntax, actions, filters, linking, dedupe behavior, bug reporting, author, and license.Read 15 Oct 2026 · manpages.debian.org
- Exact matches
- jdupes matches files that are 100% identical and does not provide similarity matching for images, sounds, or other file formats.Read 5 Oct 2026 · github.com
- Exact matching
- The program identifies duplicates through file size, partial and full hashes, then byte-for-byte comparison.Read 15 Oct 2026 · manpages.debian.org
- File actions
- Available actions include prompting to delete duplicates, deleting without prompting, linking duplicates, summarizing results, and copy-on-write deduplication.Read 5 Oct 2026 · github.com
- Filtering
- Options can exclude hidden files, restrict filesystem boundaries, filter by size, and apply exclusion specifications.Read 15 Oct 2026 · github.com
- Full verification
- Hash matches are verified against complete file contents before a duplicate is declared.Read 15 Oct 2026 · github.com
- Hard links
- jdupes can replace duplicate files with hard links to one retained file.Read 15 Oct 2026 · manpages.debian.org
- JSON output
- The command includes a JSON mode intended for machine-readable output.Read 15 Oct 2026 · github.com
- Limit: compatibility
- The README warns that jdupes is not a drop-in replacement for fdupes because option meanings differ.Read 15 Oct 2026 · github.com
- Limit: destructive options
- The documentation warns that quick-hash and partial-only modes can produce false matches and cause data loss when combined with destructive actions.Read 15 Oct 2026 · github.com
- Limit: exact matches only
- The project states that jdupes does not perform similarity matching or understand image, audio, or other file formats.Read 15 Oct 2026 · github.com
- Limit: hard-linking concern
- A recent Reddit post reported problems with hard-linking and deleting while using jdupes and sought confirmation before trusting it.Read 15 Oct 2026 · reddit.com
- Limit: threading concern
- A Reddit user said jdupes was not multithreaded for a large-filesystem use case and considered fclones instead.Read 15 Oct 2026 · reddit.com
- Limit: Windows filenames
- The project notes that its Windows port supports ANSI filenames rather than Unicode filenames.Read 15 Oct 2026 · github.com
- Linux and Unix use
- The usage instructions show running jdupes from a command line with one or more directory paths.Read 5 Oct 2026 · github.com
- Maintainer
- The Debian manual identifies Jody Bruchon as creator and maintainer and credits Adrian Lopez's fdupes as the source project.Read 15 Oct 2026 · manpages.debian.org
- News: Debian acceptance
- Debian accepted jdupes 1.31.2+really1.31.1-1 into unstable on 2026-10-09 after reverting 1.31.2 for 32-bit build failures.Read 15 Oct 2026 · tracker.debian.org
- News: Debian testing
- Debian reported jdupes 1.31.2+really1.31.1-1 migrating to testing on 2026-10-14.Read 15 Oct 2026 · tracker.debian.org
- News: version release
- The official site announced jdupes 1.31.2 and said it fixed an inverted hash-database logic error and added Windows 7 or newer taskbar progress indication.Read 15 Oct 2026 · jdupes.com
- Notable limit
- The README warns that quick matching skips byte-by-byte verification and may cause non-duplicates to be treated as duplicates.Read 5 Oct 2026 · github.com
- Official platform coverage
- The maker describes builds for Linux, Windows, Mac OS X, and most Unix-like platforms.Read 15 Oct 2026 · jodybruchon.com
- Performance
- The project says jdupes was over seven times faster than fdupes 1.51 on average in tests on various data sets.Read 5 Oct 2026 · github.com
- Praise: large scans
- A Reddit discussion grouped jdupes with tools that remain practical on very large collections by grouping files by size before hashing.Read 15 Oct 2026 · reddit.com
- Praise: options
- A Reddit commenter recommended jdupes as faster and offering more options than alternatives.Read 15 Oct 2026 · reddit.com
- Praise: speed
- A Reddit user reported being impressed by jdupes speed in testing and described it as fast on a hard disk.Read 15 Oct 2026 · reddit.com
- Recursive scanning
- Its command-line interface accepts directory paths and supports recursive traversal.Read 15 Oct 2026 · github.com
- Repeat scans
- The hash database option stores paths, hashes, and other metadata to speed up repeat runs, and the project labels this feature under development with quirks.Read 5 Oct 2026 · github.com
- Runtime dependencies
- Ubuntu lists libc6 and libjodycode3t64 as runtime dependencies for its package.Read 15 Oct 2026 · packages.ubuntu.com
- Safety check
- Normal operation checks whether files changed before scanning or acting, addressing time-of-check/time-of-use risks.Read 15 Oct 2026 · github.com
- Security and safety
- The project warns that disabling file change checks opens a time-of-check-to-time-of-use security vulnerability, especially for linking or deleting files.Read 5 Oct 2026 · github.com
- Sorting controls
- Results and automatic actions can be ordered by filename, modification time, or command-parameter order.Read 15 Oct 2026 · manpages.debian.org
- Summary reporting
- A summarize option reports duplicate information without requiring deletion or linking.Read 15 Oct 2026 · manpages.debian.org
- Supported dedupe filesystems
- The manual names BTRFS, suitably configured XFS, and Apple APFS as filesystems supporting the dedupe action.Read 15 Oct 2026 · manpages.debian.org
- Symbolic links
- The tool provides an option to create relative symbolic links for duplicates.Read 15 Oct 2026 · github.com
- Windows support
- The project provides a native Windows port and notes support for Windows-specific behavior, including Unicode.Read 5 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Free and distributed under the MIT License.
- Supports Linux, macOS, and Windows.
- Can delete, link, or deduplicate matching files.
- Verifies matching data after hashing.
- Standard output can be piped to shell scripts.
Limits
- Does not find similar, non-identical files.
- Quick matching skips byte-for-byte verification.
- Repeat-scan database is under development and has quirks.
- No file preview or folder exclusions.
Who it suits
jdupes suits users comfortable with command-line file management who need to locate exact duplicates across local directories. It supports Linux, macOS, and Windows, as well as documented Docker use.
Verdict
jdupes offers several actions for exact duplicate files across three desktop platforms. Avoid quick matching when false duplicate classifications are a concern, and note the warnings around disabling file-change checks.
Where Specifiction places it
- Duplicate File Finders#8 of 388.1