Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
RustDiff
Semantic JSON, XML & SQL diff tool with a native GTK4 + Libadwaita desktop UI.
Language: English | Espanol
Features
- Semantic JSON, XML & SQL diff (objects, arrays, XML nodes, attributes, text, and SQL statements)
- Welcome screen with guided comparison flow (single editor initially)
- Side-by-side editors with syntax highlighting
- Busqueda en editores (
Ctrl+F) con navegacion siguiente/anterior y wrap-around - Auto compare while typing (debounced) + manual compare
- Difference table with filters and click-to-jump navigation
- Export to
.txtand styled.html - Session history stored in SQLite (paginated, searchable)
Screenshots



Installation
1) Flatpak + Flathub (recommended for desktop users)
Install Flatpak:
# Arch / Manjaro
# Fedora
# Ubuntu / Debian
&&
# openSUSE
Enable Flathub:
Install and run RustDiff from Flathub:
Update or remove:
Notes:
- If software centers do not show Flathub apps immediately, log out and back in.
- If
com.digitalgex.RustDiffis not available yet, build the Flatpak locally from this repo (seecom.digitalgex.RustDiff.yaml).
2) One-command installer (Cargo + system deps)
|
3) Cargo install (from crates.io)
4) Debian package (.deb) and APT repository (PPA-style)
Install from a downloaded .deb (from GitHub Releases):
Install from the GitHub-hosted APT repository:
|
|
APT repository builds are currently published for amd64.
Remove the package and repository:
5) Homebrew (macOS, experimental)
Install RustDiff and add it to Launchpad with two commands:
- The first command builds RustDiff from source; the GTK4 stack (
gtk4,libadwaita,gtksourceview5) is installed automatically as dependencies. The first install takes a few minutes while everything compiles. After it,rustdiffis available from the terminal. - The second command copies the
RustDiff.appbundle so the app shows up in Launchpad and Spotlight. You only need to do it once: the bundle launches the brew-managed binary, so it keeps working after everybrew upgrade rustdiffwithout copying it again.
Upgrade:
&&
Uninstall:
Note: GTK4 on macOS is functional but considered experimental upstream.
System requirements (source/Cargo builds)
Rust
Rust 1.85+ (edition 2024):
Native libraries
RustDiff uses native GTK libraries. You need a C toolchain (gcc/clang, make, pkg-config) and GTK development packages.
# Arch / CachyOS / Manjaro
# Fedora
# Ubuntu / Debian (24.04+)
# openSUSE
# macOS (experimental)
Verify required libs:
&& ||
&& ||
&& ||
Build and run
# Development
# Open with two files
# Optimized release binary
Binary output:
target/release/rustdiff
Install local checkout:
Usage
# Open empty window
# Open two JSON files
# Open two XML files
Keyboard shortcuts
| Shortcut | Action |
|---|---|
Ctrl+O |
Open file in left panel |
Ctrl+Shift+O |
Open file in right panel |
Ctrl+Enter |
Force compare |
Ctrl+S |
Save session to history |
Ctrl+E |
Export result as .txt |
Ctrl+Shift+F |
Pretty-print both panels |
Ctrl+H |
Toggle history panel |
Data, config, and outputs
- History DB:
~/.local/share/rustdiff/history.db - UI settings:
~/.config/rustdiff/settings.json - Export formats: plain text (
.txt) and HTML (.html)
Tests
# Full test suite
# Integration tests
Flathub and packaging documentation
- Flatpak manifest for local builds:
com.digitalgex.RustDiff.yaml - Flathub submission files:
flathub/com.digitalgex.RustDiff.yaml,flathub/cargo-sources.json - Flathub submission workflow:
flathub/README.md - Screenshot requirements (AppStream/Flathub):
data/screenshots/README.md - Debian/APT packaging and GitHub Actions setup:
docs/DEBIAN_APT.md
Useful external references:
- Flathub setup guide: https://flathub.org/setup
- Flatpak documentation: https://docs.flatpak.org/
License
GPL-3.0-or-later