OmniDiff - Content-aware Git difftool in Rust

Show HN: OmniDiff – Opensource, super fast, content aware Git difftool, in Rust

OmniDiff - Content-aware Git difftool in Rust

OmniDiff is an open-source, blazing-fast Git difftool written in Rust that understands what it's diffing. Instead of marking whole lines as changed, it parses 25 languages with tree-sitter grammars and highlights only the parts that actually changed—so a refactored expression shows the moved pieces, not a wall of red and green. It also handles binary content like PNGs, PDFs, fonts, and archives, reporting exactly what changed inside them. With an interactive TUI, headless mode, JSON output, and seamless integration with git and jj, OmniDiff makes code review faster and far more accurate.

On one side of the bar, GNU diff marks whole lines as deleted and inserted; on the other, OmniDiff paints only the parts that changed—sum(numbers) and len(numbers) rather than the whole assignment, and numbers shown as moved rather than rewritten.
  1. bita_nidir

    Wow, I've often wished I had a tool like this. Thanks!

    Since most people do click-and-run most of the time (based on decades long research, n=1), I'll just add paste the link for more examples: https://ivankovic.github.io/omnidiff/showcase/content.html

  2. nickjj

    Delta has a really nice way to show diffs with its diff-so-fancy mode, it's more similar to GitHub's UI where not only the line is colored up differently but there's a different shade of color to highlight the characters.

    There's a screenshot and video of it here that I wrote a while back: https://nickjanetakis.com/blog/awesome-git-diffs-with-delta-...

    In OmniDiff's readme and web version I didn't see a way to do that.

    In a different comment you mentioned OmniDiff is much better than Delta and you mentioned "About a third of diffs are significantly better.". Can you provide some examples of these? I've never seen Delta fail a diff.

    Also Delta has a package for Arch in its official repos. For folks who just want a "it works" experience, that's a pretty big win. With Delta the same package can be installed in the same way on Debian, Arch and macOS with Brew using standard package managers. With OmniDiff, there's 3 different ways to install it (manual deb package on Debian, manual package compile on Arch and brew install on a Mac). Just something to think about, as someone who has public dotfiles that work in those 3 environments, I'd skip OmniDiff based on this alone.

  3. arkenflame

    Really well done, I like this a lot. It produces much more minimal diffs than other tools I've tried.

    One feature I miss from difftastic is showing diffs side-by-side on wide terminals, and unified when narrow.

More from this day

2026-11-01