A fast, parallel duplicate file finder and remover written in Rust.
- Parallel file scanning using rayon
- Progress bars with indicatif
- DataFrame analysis with Polars
- Optional CSV report generation
- Safe deletion with dry-run preview
# Build from source
make release
make install-user
# Or install directly
cargo install --path .# Report duplicates in current directory
rdedupe .
# Report duplicates matching a pattern
rdedupe /path/to/dir --pattern .txt
# Generate CSV report
rdedupe . --pattern .jpg --csv report.csv
# Preview what would be deleted
rdedupe . --delete --dry-run
# Delete duplicates (keeps first file alphabetically in each group)
rdedupe . --delete --forcemake # Show all available targets
make build # Debug build
make release # Optimized release build
make static # Static Linux binary (musl)
make test # Run tests
make lint # Run clippy- Recursively walks the directory tree
- Filters files by pattern (if specified)
- Computes MD5 hash for each file in parallel
- Creates a Polars DataFrame with file metadata
- Uses Polars window functions to identify duplicates (files sharing the same hash)
- Reports or deletes duplicates (keeping first file alphabetically per group)
This project is derived from noahgift/rdedupe by Noah Gift.
See LICENSE for details.