About RCompare
Fast, free, and open-source file comparison
Why RCompare?
RCompare was born from the need for a fast, reliable, and privacy-respecting file comparison tool. While commercial alternatives exist, they often come with hefty price tags, telemetry, or outdated technology.
Built with Rust, RCompare combines the performance of systems programming with the safety guarantees of a modern language. The result is a tool that's blazingly fast, memory efficient, and rock solid.
Inspired by the architecture of Czkawka and the functionality of Beyond Compare, RCompare aims to be the go-to open-source solution for file and directory comparison.
Project Goals
- Maximum performance through parallel processing
- Complete privacy - no telemetry or data collection
- Cross-platform support (Windows, macOS, Linux)
- Modern, intuitive user interface
- Comprehensive comparison capabilities
- Open-source and community-driven
Technology Stack
Built with modern, battle-tested technologies
Rust
Memory-safe systems programming language providing zero-cost abstractions and fearless concurrency.
BLAKE3
State-of-the-art cryptographic hash function achieving ~3GB/s on modern CPUs.
Slint
Declarative UI toolkit for native desktop applications with smooth performance.
jwalk
Parallel directory traversal that saturates I/O bandwidth for maximum speed.
similar
Advanced diff algorithms (Myers, Patience) for accurate text comparison.
syntect
Syntax highlighting for 100+ programming languages using TextMate grammars.
Project Architecture
Modular design for flexibility and maintainability
rcompare/
├── rcompare_common/ # Shared types, traits, errors
│ └── VFS trait, FileEntry, DiffNode, Configuration
├── rcompare_core/ # Core business logic (UI-agnostic)
│ ├── scanner/ # Parallel directory traversal
│ ├── comparison/ # File comparison engine
│ ├── hash_cache/ # BLAKE3 cache management
│ ├── text_diff/ # Text diff with syntax highlighting
│ ├── binary_diff/ # Hex comparison
│ ├── image_diff/ # Image comparison
│ └── vfs/ # Virtual file system abstractions
│ ├── local.rs # Local filesystem
│ ├── archive.rs # ZIP, TAR, 7Z, RAR support
│ ├── s3.rs # AWS S3 / S3-compatible
│ ├── webdav.rs # WebDAV protocol
│ └── sftp.rs # SFTP/SSH support
├── rcompare_cli/ # Command-line interface
└── rcompare_gui/ # Graphical interface (Slint)
License
MIT License
Simple and permissive. Use RCompare however you want with minimal restrictions.
Apache 2.0
Patent protection and clear contribution terms for enterprise users.
RCompare is dual-licensed. Choose whichever license works best for your project.
Get Involved
RCompare is open source and welcomes contributions. Whether it's code, documentation, or feedback - every contribution helps.