Skip to content

Repository files navigation

Diff Viewer

A cross-platform diff viewer rebuilt with Tauri 2 and Vue 3. Inspired by Beyond Compare's core comparison features.

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

Usage

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.

Keyboard Shortcuts

ShortcutAction
Ctrl+FToggle search bar
F3 / Ctrl+GNext change
Shift+F3 / Ctrl+Shift+GPrevious change
Ctrl+Shift+SSwap left and right sides
Ctrl+EToggle editing for the left side
EscapeClose the search bar or comparison rules

On macOS, use Cmd in place of Ctrl.

Development

Prerequisites

Install the frontend dependencies and start the browser-based development server:

npm ci
npm run dev

Run the desktop application in development mode:

npm run tauri -- dev

Build the web assets:

npm run build

Build the desktop app:

npm run tauri -- build

Run the complete frontend and Rust validation locally:

npm run check

Releases and CI

Branches 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

License

MIT

About

Diff View Desktop (Windows, Linux, MacOS)

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages