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.