An offline-only desktop diff viewer for Windows and macOS. GitHub-style side-by-side comparison, syntax highlighting, and encrypted local history — with a hard promise: it never touches the network.
- Truly offline. No account, no telemetry, no auto-update, no CDN. The app makes zero network requests — enforced by a session-level kill switch, a strict CSP, and a sandboxed renderer, not just a promise. Your files never leave your machine.
- Private by default. Anything you keep — saved diffs, snippets, keys — is encrypted on-device (AES-256-GCM), with the key held by your OS keychain. Saved diffs auto-expire.
- Fast and familiar. The Monaco editor that powers VS Code, with GitHub-style rendering you already know.
- Diff two files or pasted text — split or inline, word-level highlights, syntax highlighting, in-view search, and a live re-diff when a file changes on disk. Copy the result as a git-style unified patch.
- Excel (.xlsx) comparison — a structured grid diff with sheet tabs and cell / row-level highlighting, aligned so an inserted row doesn't cascade. Parsed entirely offline by a small custom reader (no heavyweight dependency).
- Paste mode for quick throwaway comparisons, including pasted text against a real file — or just hit Ctrl/Cmd+V to paste straight into a comparison.
- Drag & drop files onto the window; it warns before discarding unsaved work.
- Saved diffs — encrypted, auto-expiring, organized into categories.
- Share a diff as a sealed, signed file only its intended recipient can open.
- Snippets — an encrypted, tagged text library with per-language highlighting and live Mermaid diagram rendering, in a viewer you can drag bigger from any corner (and that fills the window when the app goes fullscreen).
- Tools — Base64, JSON / XML / SQL format + validate, and passphrase text encryption.
- Yours to arrange — eight themes (incl. Nord, Sepia, and a playful Nyan with a reward cat), a sidebar whose sections you drag to reorder (and can lock in place), and adjustable limits, all remembered between sessions.
Excel (.xlsx) files compared as aligned grids — changed cells boxed, added/removed rows aligned.
Light and dark themes, GitHub-style rendering. |
Saved diffs are encrypted on-device and auto-expire. |
Drop or choose two files — Excel, JSON/XML, or any text. |
Grab the latest installer from the latest release:
| OS | Download |
|---|---|
| Windows (10/11) | diff-bro-Setup-v<version>.exe |
| macOS (Apple silicon, 12+) | diff-bro-v<version>.dmg |
macOS via Homebrew:
brew tap mindaugaskasp/tap
brew install --cask diff-bro
xattr -dr com.apple.quarantine "/Applications/Diff Bro.app"Builds are currently unsigned, so Windows SmartScreen and macOS Gatekeeper
will warn on first launch (the xattr line above clears it on macOS). Full
details in docs/packaging.md.
Electron · Vue 3 · Pinia · Monaco. Text first, with an adapter registry for richer formats to come. Security and offline guarantees are non-negotiable — see the security model.
npm install
npm run dev # run locally
npm run check # lint + testsNo local Node? The same flow runs in Docker: make dev, make check,
make e2e. See docker/README.md and make help.
- Architecture — processes, trust boundary, directory map.
- IPC & security — how renderer↔main talk, and what the sandbox blocks (with diagrams).
- Security model — offline guarantee, sharing, keys, backup.
- Packaging & releasing — installers, signing notes, CI.
- Chocolatey release — plan + package skeleton for
choco install diffbro. - Glossary — every term and abbreviation (IPC, CSP, GCM, …).
- Coding standards live in CLAUDE.md; roadmap in DEVELOPMENT_PLAN.md.



