# Competitive Analysis Matrix: RustDupe
> **Document Type**: Strategic Competitive Analysis
> **Generated**: 2026-02-05
> **Scope**: Duplicate File Finder Tools - CLI, TUI, and GUI Applications
---
## Table of Contents
1. [Executive Summary](#executive-summary)
2. [Competitor Overview](#competitor-overview)
3. [Feature Comparison Matrix](#feature-comparison-matrix)
4. [Performance Benchmarks](#performance-benchmarks)
5. [Competitive Positioning Analysis](#competitive-positioning-analysis)
6. [Market Positioning Map](#market-positioning-map)
7. [Strategic Recommendations](#strategic-recommendations)
---
## Executive Summary
The duplicate file finder market is dominated by **Rust-based tools** that leverage modern algorithms (XXHash3, BLAKE3) and parallel processing to achieve 5-10x performance improvements over legacy C/C++ implementations. The landscape consists of three major categories:
| **High-Performance CLI** | fclones, rmlint, yadf | Rust-based tools achieve sub-minute scans on 300+ GB datasets |
| **GUI Applications** | czkawka, dupeGuru, Gemini 2 | Cross-platform GUI demand is strong; only czkawka offers modern Rust + GUI |
| **Established Utilities** | fdupes, jdupes | Widely packaged but single-threaded; users actively seeking replacements |
### Key Competitive Insights
1. **Performance Gap**: Rust tools process 300+ GB in 30-60 seconds vs. 5+ minutes for C tools
2. **TUI Vacuum**: No major competitor offers a polished Terminal User Interface (czkawka dropped theirs)
3. **Session Management Gap**: Only fclones and rmlint offer robust incremental/caching; most tools lack save/resume
4. **Safe Deletion Risk**: CCleaner v7+ removed safety filters; users need trustworthy alternatives
5. **Windows Opportunity**: No dominant free Rust-based GUI option exists for Windows
### RustDupe Position
RustDupe enters this market with a **unique TUI-first approach** combined with BLAKE3 hashing, SQLite caching, and comprehensive output formats. The combination of interactive terminal interface + professional-grade hashing + session persistence represents a **differentiated position** not currently occupied by any competitor.
---
## Competitor Overview
### Tier 1: Direct Competitors (Rust-Based High-Performance)
| **fclones** | Rust | MIT | Linux, Win, macOS, BSD | ✅ Very Active | 2,616 | 2026-02-04 |
| **czkawka** | Rust | MIT + CC0 | Linux, Win, macOS, BSD | ✅ Very Active | 29,063 | 2026-02-05 |
| **ddh** | Rust | MIT-like | Linux, Win, macOS | ✅ Active | 483 | 2026-01-27 |
| **yadf** | Rust | MIT | Linux, Win, macOS | ✅ Active | 63 | 2025-12-03 |
### Tier 2: Established CLI Tools
| **fdupes** | C | MIT-like | Linux, macOS, BSD, WSL | ✅ Active (2.4.0) | De facto standard, single-threaded |
| **jdupes** | C | MIT | Linux, Win, macOS, BSD | ✅ Active | fdupes fork, 3x faster |
| **rdfind** | C++ | GPL-2.0 | Linux, macOS, BSD | ✅ Active | Simple, reliable |
| **rmlint** | C/Python | GPL-3.0 | Linux, macOS, BSD | ✅ Active | Feature-rich with GUI |
| **duperemove** | C | GPL-2.0 | Linux only | ✅ Active | btrfs/XFS deduplication |
### Tier 3: GUI Applications
| **dupeGuru** | Python | GPL-3.0 | Linux, Win, macOS | Free | Fuzzy matching, Qt5 |
| **AllDup** | Delphi | Freeware | Windows only | Free | Feature-rich, complex UI |
| **Duplicate Cleaner Pro** | C# | Commercial | Windows only | $54.95 | Professional, polished |
| **Gemini 2** | Objective-C | Commercial | macOS only | $19.95/yr | Beautiful, AI-powered |
| **CCleaner** | C++ | Freemium | Win, macOS | Free/Pro | ⚠️ v7+ has safety issues |
---
## Feature Comparison Matrix
### Legend
- ✅ **Full Support** - Feature is implemented and works well
- 🔶 **Partial** - Feature exists but limited functionality
- ❌ **Not Supported** - Feature not available
- 🔄 **External** - Requires external tool or script
- 🆕 **In Development** - Not yet available
### Core Detection Features
| **Modern Hashing** (BLAKE3/XXHash3) | ✅ BLAKE3 | ✅ XXHash3 | ✅ XXHash3 | ✅ BLAKE3 | ✅ XXHash | ❌ MD5 | 🔶 jodyhash | ✅ Multiple | ❌ MD5 |
| **Multi-Phase Detection** | ✅ (4-phase) | ✅ | ✅ | ✅ (2-phase) | ✅ | ✅ (4-phase) | ✅ | ✅ | 🔶 |
| **Byte-by-Byte Verification** | ✅ Optional | ❌ | ❌ | ❌ | ❌ | ✅ Always | ✅ Optional | ✅ Optional | ❌ |
| **Parallel Processing** | ✅ (rayon) | ✅ (adaptive) | ✅ (rayon) | ✅ (rayon) | ✅ (rayon) | ❌ | 🔶 Limited | ✅ | ❌ |
| **Hardlink Detection** | ✅ | ✅ | ✅ | ✅ | 🔶 Optional | ✅ | ✅ | ✅ | ✅ |
### User Interface & Experience
| **Interactive TUI** | ✅ Ratatui | ❌ | ❌ | ❌ | ❌ | 🔶 Curses | ❌ | ❌ | ❌ |
| **GUI Interface** | 🆕 Planned | 🔄 GTK4 | ✅ GTK4/Slint | ❌ | ❌ | ❌ | 🔄 Third-party | ✅ Shredder | ✅ Qt5 |
| **CLI Interface** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| **Batch Selection** | ✅ Interactive | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | 🔶 Script | ✅ |
| **Themes/Customization** | ✅ | ❌ | 🔶 | ❌ | ❌ | ❌ | ❌ | ❌ | 🔶 |
### Caching & Performance
| **Persistent Cache** | ✅ SQLite | ✅ | ✅ | ❌ | 🔶 FS Cache | ✅ | ❌ | ✅ | ❌ |
| **Incremental Scanning** | ✅ | ✅ | ✅ | ❌ | 🔶 | ✅ | ❌ | ✅ | ❌ |
| **Session Save/Load** | ✅ SHA256 integrity | 🔶 Via cache | ✅ | ❌ | ❌ | 🔶 Via cache | ❌ | ✅ | ❌ |
| **Reference Directories** | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
### Output & Export
| **JSON Export** | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ |
| **CSV Export** | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ |
| **HTML Export** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **Script Generation** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
| **fdupes Format** | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
### Safety & Operations
| **Trash/Recycle Bin** | ✅ Cross-platform | ✅ | ✅ | ❌ | 🔄 External | ❌ | ❌ | 🔄 Script | ✅ |
| **Safe Deletion** | ✅ Protected | ✅ | ✅ | ❌ | 🔄 External | 🔶 | 🔶 | 🔄 Script | ✅ |
| **System File Protection** | ✅ | ✅ | ✅ | N/A | N/A | ❌ | ❌ | ✅ | ✅ |
| **Hardlink Creation** | 🆕 Planned | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ |
| **Unicode Normalization** | ✅ NFD/NFC | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | 🔶 |
### Additional Features
| **Similar Images** | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| **Similar Videos** | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **Similar Music** | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| **Empty Files/Folders** | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
| **Broken Symlinks** | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
| **Reflink/CoW Support** | 🆕 Planned | ✅ | ❌ | ❌ | ❌ | ❌ | 🔶 | ✅ | ❌ |
---
## Performance Benchmarks
### Official Benchmark Dataset (316 GB, 1.4M files, SSD)
Source: fclones official benchmarks (2025)
| **fclones** | 0.12.1 | Rust | **34.59s** | **266 MB** | 🏆 Fastest |
| **yadf** | 0.15.2 | Rust | 59.32s | 329 MB | 1.7x slower |
| **czkawka** | 3.1.0 | Rust | 2:09.00 | 1.4 GB | 3.7x slower |
| **rmlint** | 2.9.0 | C/Python | 2:28.43 | 942 MB | 4.3x slower |
| **jdupes** | 1.18.2 | C | 5:01.91 | 332 MB | 8.7x slower |
| **fdupes** | 2.1.1 | C | 5:46.19 | 342 MB | 10.0x slower |
| **rdfind** | 1.4.1 | C++ | 5:53.07 | 496 MB | 10.2x slower |
| **dupeGuru** | 4.1.1 | Python | 7:49.89 | 1.4 GB | 13.6x slower |
### HDD vs SSD Performance (virkki.com 2022 Benchmark)
Average across cached and uncached runs:
| **dupd** | 33.8s | 10.6s | #1 |
| **fclones** | 63.0s | 6.3s | #2 |
| **yadf** | 166.3s | 14.0s | #3 |
| **rmlint** | 59.7s | 11.7s | #4 |
| **rdfind** | 50.3s | 18.5s | #5 |
| **jdupes** | 169.5s | 19.3s | #6 |
### Key Performance Insights
| **Raw Speed** | fclones (34s) | Match or approach with caching |
| **Memory Efficiency** | fclones (266 MB) | Target <500 MB for large datasets |
| **Cached Rescan** | dupd (3.2s) | Match with SQLite cache |
| **Python Overhead** | dupeGuru (468s) | Avoid - use native Rust |
---
## Competitive Positioning Analysis
### RustDupe's Competitive Strengths
| **TUI Interface** | Only ratatui-based TUI in category | Unique UX for terminal users |
| **BLAKE3 Hashing** | Cryptographically secure, fast | Better than XXHash3 for paranoid users |
| **SQLite Caching** | Persistent, fast, session-integrated | Rivals fclones cache with more features |
| **Session Integrity** | SHA256 verification | Unique feature - no competitor has this |
| **Multiple Output Formats** | TUI, JSON, CSV, HTML, script | Most comprehensive export options |
| **Unicode Normalization** | NFD/NFC support | Critical for macOS users |
| **Cross-Platform Trash** | trash crate integration | Better than external script approaches |
### Areas Where Competitors Excel
| **fclones** | Raw speed (34s benchmark), adaptive I/O | ~2x faster on first scan |
| **czkawka** | Similar media detection (images/videos/music) | No fuzzy/similar matching |
| **rmlint** | Extensive lint types (empty files, broken symlinks) | Limited to duplicates only |
| **jdupes** | Built-in hardlink replacement (`-L`) | No hardlink creation yet |
| **fclones** | Reflink/CoW support for btrfs/XFS | Linux CoW not implemented |
| **dupeGuru** | Fuzzy filename matching | No approximate matching |
| **Gemini 2** | Real-time monitoring, Photos integration | No background monitoring |
### Unique Differentiators (Market Gaps)
| **TUI + CLI Hybrid** | ✅ Unique | No competitor offers both polished TUI and full CLI |
| **Session Integrity Verification** | ✅ Unique | SHA256 checksums on session files |
| **HTML Reporting** | ✅ Unique | No CLI tool generates HTML reports |
| **Themeable TUI** | ✅ Unique | Customizable terminal interface |
| **4-Phase Detection** | ✅ Best-in-class | Size → 4KB prehash → BLAKE3 → optional byte-by-byte |
---
## Market Positioning Map
### Performance vs Features Quadrant
```
HIGH PERFORMANCE
|
|
┌──────────────────┼──────────────────┐
│ │ │
│ ddh │ fclones │
│ (simple) │ (fastest) │
│ │ │
│ │ │
LOW │──────────────────┼──────────────────│ HIGH
FEATURES│ │ │FEATURES
│ │ │
│ fdupes │ czkawka │
│ (legacy) │ (feature-rich) │
│ │ │
│ │ 🎯 RustDupe │
│ │ (TUI-focused) │
└──────────────────┼──────────────────┘
|
LOW PERFORMANCE
```
### Detailed Positioning Analysis
| **High Performance / High Features** | fclones, rmlint | Best for power users; steep learning curve |
| **High Performance / Low Features** | ddh, yadf | Good for scripting; minimal interfaces |
| **Low Performance / High Features** | dupeGuru, czkawka | User-friendly; slower due to Python/GUI overhead |
| **Low Performance / Low Features** | fdupes | Stable legacy; being replaced |
| **TBD** | **RustDupe** | Targeting High Performance + TUI Usability niche |
### Target Market Position
```mermaid
quadrantChart
title Duplicate File Finder Market Position
x-axis Low Features --> High Features
y-axis Low Performance --> High Performance
quadrant-1 Power Users
quadrant-2 Feature-Rich Slow
quadrant-3 Legacy Tools
quadrant-4 Fast & Simple
"fclones": [0.7, 0.95]
"rmlint": [0.8, 0.85]
"czkawka": [0.9, 0.6]
"dupeGuru": [0.7, 0.3]
"jdupes": [0.5, 0.5]
"fdupes": [0.4, 0.2]
"ddh": [0.2, 0.7]
"RustDupe": [0.75, 0.75]
```
---
## Strategic Recommendations
### 1. Short-Term Priorities (Next 3 Months)
| **P0** | Complete TUI polish | This is the primary differentiator |
| **P0** | Optimize caching performance | Close gap with fclones speed |
| **P1** | Add hardlink creation | Match jdupes `-L` feature |
| **P1** | Windows testing | Large underserved market |
### 2. Medium-Term Opportunities (3-6 Months)
| **Similar Images** | Perceptual hashing (img_hash crate) | Only czkawka/dupeGuru have this |
| **Reflink Support** | FIDEDUPERANGE ioctl (Linux) | fclones has this; btrfs/XFS users need it |
| **GUI Version** | Separate iced/egui binary | No good free Windows GUI in Rust |
| **Plugin System** | WASM-based extensions | No competitor offers extensibility |
### 3. Competitive Differentiation Strategy
```
┌─────────────────────────────────────────────────────────────────┐
│ RUSTDUPE POSITIONING │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ "The Professional's Choice for Terminal Duplicate │ │
│ │ Finding with Enterprise-Grade Verification" │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ Key Messages: │
│ • Only TUI tool with BLAKE3 + session verification │
│ • Trust through transparency (byte-by-byte option) │
│ • Never lose work (session save/resume) │
│ • Works everywhere (cross-platform trash) │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### 4. Go-to-Market Recommendations
| **GitHub** | Highlight TUI screenshots, benchmarks | Developers, sysadmins |
| **Reddit** | r/DataHoarder, r/rust, r/commandline | Power users |
| **Hacker News** | "Show HN" with performance comparison | Tech influencers |
| **Package Managers** | cargo, Homebrew, AUR, Chocolatey | Ease of adoption |
| **Documentation** | Comparison pages vs fdupes/jdupes | Migration path |
### 5. Feature Roadmap Based on Competition
```
Q1 2026: TUI v1.0, Session Management, All Export Formats
└─ Competitive Parity: czkawka GUI features
Q2 2026: Performance Optimization, Hardlink Creation
└─ Competitive Parity: jdupes -L, fclones speed
Q3 2026: Similar Images, Reflink Support, Windows GUI
└─ Competitive Advantage: First Rust tool with all 3
Q4 2026: Cloud Integration (S3), Real-time Monitoring
└─ Competitive Advantage: Enterprise features
```
### 6. Risk Mitigation
| **CCleaner v7 Safety Issues** | Removed filters, data loss | Emphasize safety features in marketing |
| **fclones Speed Dominance** | 34s vs potential 60s+ | Focus on features, not just speed |
| **czkawka Feature Breadth** | Similar images/videos/music | Partner with/media mention czkawka for different use case |
| **GUI Demand** | Most users want GUI | Build iced/egui version; keep TUI as differentiator |
---
## Appendix: Competitor Quick Reference
### For Users Migrating From...
| **fdupes** | RustDupe TUI | Better speed, similar workflow |
| **jdupes** | RustDupe CLI | Session management, better caching |
| **fclones** | RustDupe TUI | Interactive selection vs script-only |
| **czkawka** | RustDupe CLI | When GUI overhead not needed |
| **dupeGuru** | RustDupe TUI | Much faster, no fuzzy matching |
### Quick Decision Matrix
| "Fastest possible" | fclones |
| "Best free GUI" | czkawka |
| "TUI with power" | **RustDupe** |
| "Similar images" | dupeGuru or czkawka |
| "Enterprise/audit" | rmlint or **RustDupe** |
| "btrfs dedupe" | duperemove or fclones |
| "macOS native" | Gemini 2 |
| "Windows power user" | AllDup or **RustDupe (future)** |
---
## Document Information
| **Document Version** | 1.0.0 |
| **Last Updated** | 2026-02-05 |
| **Source Research** | `docs/research/duplicate-file-finder-competitors-2026-02-05.md` |
| **Next Review** | 2026-03-05 |
| **Author** | Documentation Agent |
---
## References
1. [fclones GitHub](https://github.com/pkolaczk/fclones) - Performance benchmarks
2. [czkawka GitHub](https://github.com/qarmin/czkawka) - Feature reference
3. [fdupes GitHub](https://github.com/adrianlopezroche/fdupes) - Legacy standard
4. [jdupes Codeberg](https://codeberg.org/jbruchon/jdupes) - fdupes successor
5. [rmlint GitHub](https://github.com/sahib/rmlint) - Feature-rich CLI
6. [dupeGuru GitHub](https://github.com/arsenetar/dupeguru) - GUI reference
7. [virkki.com Benchmarks](https://www.virkki.com/jyri/articles/index.php/duplicate-finder-performance-2022-edition/) - Performance data
8. [Gemini 2](https://macpaw.com/gemini) - macOS commercial tool
9. [Duplicate Cleaner Pro](https://www.digitalvolcano.co.uk/duplicatecleaner.html) - Windows commercial tool