fclones
github.com
What it is
fclones is a free command-line utility for locating groups of identical files and handling redundant copies. It runs on Linux, macOS, and Windows, and can scan multiple directory roots, standard-input file lists, and mounted or removable devices. Search controls include recursion limits, glob and regular-expression filters, and minimum or maximum file sizes. It can compare files using size, inode or file identifiers, prefix and suffix hashes, and full-content hashes. Results are available as text, fdupes-compatible output, CSV, or JSON. Once duplicates are identified, fclones can remove or move them, or replace them with soft or hard links. On supported file systems, it can deduplicate file data with native copy-on-write reflinks, a capability unavailable on Windows. Users can inspect and alter duplicate lists before removal, and dry-run mode reports changes without executing them. The Rust implementation parallelizes I/O and CPU-heavy work and adjusts processing for SSDs and HDDs. Optional persistent hash caching can help repeated scans and resumed work; the project is released under the MIT license.
Spec sheet
- Purpose
- fclones identifies groups of identical files and removes unwanted copies.Read 1 Oct 2026 · github.com
- Integrations
- The project says it integrates with Unix utilities such as find and speaks JSON.Read 1 Oct 2026 · github.com
- Security
- The repository is released under the MIT license.Read 1 Oct 2026 · github.com
- Support
- The project provides GitHub Issues and Discussions for community support.Read 1 Oct 2026 · github.com
- Caching
- Optional persistent hash caching can speed up repeated grouping and resume interrupted work.Read 1 Oct 2026 · github.com
- Deduplication
- It can deduplicate file data using native copy-on-write reflinks on supported file systems.Read 1 Oct 2026 · github.com
- File operations
- It can remove, move, or replace redundant files with soft or hard links.Read 1 Oct 2026 · github.com
- Linux optimization
- Physical file-access ordering and page-cache drop-behind optimizations are unavailable on platforms other than Linux.Read 1 Oct 2026 · github.com
- Output
- It provides standard text, fdupes-compatible, CSV, and JSON output formats.Read 1 Oct 2026 · github.com
- Performance
- The Rust implementation parallelizes I/O and CPU-heavy stages and automatically tunes processing for SSDs and HDDs.Read 1 Oct 2026 · github.com
- Platform limit
- Copy-on-write file-data deduplication is not supported on Windows.Read 1 Oct 2026 · github.com
- Safety controls
- Users can inspect and modify duplicate lists before removal, and the --dry-run option reports filesystem changes without executing them.Read 1 Oct 2026 · github.com
- Selection
- It supports multiple directory roots, standard-input file lists, recursion limits, glob and regular-expression filters, and minimum or maximum file sizes.Read 1 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Runs on Linux, macOS, and Windows.
- Offers filters, recursion limits, and size bounds.
- Supports dry runs and editable duplicate lists.
- Outputs text, CSV, JSON, or fdupes-compatible results.
- Optional hash cache supports repeated scans.
Limits
- Copy-on-write reflink deduplication is unavailable on Windows.
- Some file-access optimizations are Linux-only.
- It is a command-line utility.
Who it suits
fclones suits people comfortable using a command line who need to find and manage duplicate files across directory trees or removable devices. It is also useful where output needs to feed Unix utilities or JSON-based workflows.
Verdict
fclones provides detailed scan controls and several ways to handle duplicates, with dry-run and review options before file changes. Its reflink deduplication and some optimizations have platform limits.
Where Specifiction places it
- Duplicate File Finders#19 of 387.5