A cross-platform diff viewer rebuilt with Tauri 2 and Vue 3. Inspired by Beyond Compare's core comparison features.
- Side-by-side comparison with synchronized scrolling
- Inline character-level diff highlighting for modified lines
- Syntax highlighting for common programming and markup languages
- Line numbers with gutter change markers (
+,-,~) - Change navigation — jump between differences with F3/Shift+F3
- Flexible input — open, drag and drop, or paste text and images from the clipboard
- Inline editing for either side of the comparison
- Resizable panes, word wrapping, and one-click side swapping
- Comparison rules to ignore case, leading or all whitespace, and blank lines
- Unified patch generation and copy
- Search with case-sensitive and regular-expression modes
- Dark/Light theme toggle
- Status bar with diff statistics
Load content into each pane using the file button, drag and drop, or the clipboard button. Text files are compared line by line; supported source files are syntax highlighted based on their extension. Images can be opened or pasted for side-by-side inspection.
Use the toolbar to navigate changes, swap panes, enable synchronized scrolling or wrapping, configure comparison rules, and copy the current comparison as a unified patch. Each pane also has an edit button for making quick text changes in place.
| Shortcut | Action |
|---|---|
Ctrl+F | Toggle search bar |
F3 / Ctrl+G | Next change |
Shift+F3 / Ctrl+Shift+G | Previous change |
Ctrl+Shift+S | Swap left and right sides |
Ctrl+E | Toggle editing for the left side |
Escape | Close the search bar or comparison rules |
On macOS, use Cmd in place of Ctrl.
- Node.js (LTS recommended)
- Rust stable toolchain
- The Tauri 2 system dependencies for your platform
Install the frontend dependencies and start the browser-based development server:
npm ci
npm run devRun the desktop application in development mode:
npm run tauri -- devBuild the web assets:
npm run buildBuild the desktop app:
npm run tauri -- buildRun the complete frontend and Rust validation locally:
npm run checkBranches and pull requests run frontend and Rust quality checks. Pushing a v* tag triggers GitHub Actions builds for:
- Windows, Linux, and macOS (Intel and Apple Silicon)
- Android APK and AAB packages
- An iOS simulator build
The workflow also publishes desktop bundles to the GitHub release and attempts to submit Windows installers to WinGet.
Create a release by pushing a version tag, for example:
git tag v1.3.0
git push origin v1.3.0