OmniDiff

Dev tools

git difftool

SHOW HN2026

OmniDiff

Opensource, super fast, content aware Git difftool, in Rust

github.com

#git difftool#diff tool#tree-sitter diff#rust diff#semantic diff

213points
51comments
#262of 4,366 in 2026
Top 7%of 2026 by points

How HN took it

DebatedReal support and real criticism

9 positive, 11 neutral or asking, 1 mixed, 8 critical, out of 29 comments about the project. Thread score +0.06.

Idea: 3 for, 4 againstExecution: 1 for, 2 againstDesign: 2 for, 1 againstDocs: 0 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Produces much more minimal, accurate diffs, with good handling of moved code

    From 3 comments
    • 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…
      arkenflame on HN
    • It’s much much better with moved code. Delta adds color to the standard git diff algorithm. Omnidiff uses a completely different algorithm. About a third of diffs are…
      FabCH on HN
    • This looks really good. It does look like you put a ton of effort into it, I'll give it a try. I feel like the moved code cases would look great in…
      andunie on HN
  • Copyleft AGPL license appreciated

    From 2 comments
    • cool to see fresh Rust software with copyleft license ! I feel safer, as a user, enjoying the freedoms that the AGPL provides me. (No evil middleman will be able to give me…
      enriquto on HN
    • I support the choice of AGPL. I wish more software used it. Whenever I use AI to write code, in my experience it invariably chooses the MIT license. For example, for all the…
      shock on HN
  • Visual demos look impressive

    From 2 comments
    • Wow.. that looks great
      z0al on HN
    • 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…
      bita_nidir on HN

Objections

  • Packaging is harder to install than delta, no Arch or brew on Linux easily

    From 1 comment
    • 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…
      nickjj on HN
  • Crashes on very large degenerate files like huge byte arrays

    From 2 comments
    • It will crash. But so will every other tool, because it is things like a C++ header file with 128MB of PNG data hardcoded as an array. Editors don’t even open those files.
      FabCH on HN
    • It's a tradeoff. The length itself is not a problem. It will happily diff normal multi-MB files. The problem is the degenerative syntax tree that TreeSitter produces in case of,…
      FabCH on HN
  • Git difftool setup produced a single-column output for one user

    From 1 comment
    • I don't know what I did wrong, but using this as a git difftool (following the config) I didn't get any of the cool things from the demos, I got a weird single-column diff output…
      andunie on HN
  • AGPL license limits adoption compared to MIT

    From 2 comments
    • You have a good core idea here. You're pretty much killing your project in infancy with the AGPL+donation license model. Meanwhile, some other projects will take the core idea of…
      anilgulecha on HN
    • Servitude to their masters
      lejalv on HN

Requests

  • Side-by-side on wide terminals, unified when narrow

    From 1 comment
    • 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…
      arkenflame on HN
  • Highlight whole lines, not only changed characters

    From 1 comment
    • 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…
      nickjj on HN
  • Three-way merge support

    From 1 comment
    • Nicely done OP. Does it do 3-way diffs for merges as well? The instructions only mention the two-way `git difftool` configuration so maybe that'll be a future feature? Any…
      davvid on HN
  • Upstream into git mergetools

    From 1 comment
    • Nicely done OP. Does it do 3-way diffs for merges as well? The instructions only mention the two-way `git difftool` configuration so maybe that'll be a future feature? Any…
      davvid on HN
  • Figma or Photoshop file support

    From 1 comment
    • Very cool! I'd love to see support for figma or Photoshop, perhaps it's already possible via export to an image format, but native would be cool.
      smallnix on HN

Questions

  • How does it compare to difftastic and delta

    From 3 comments
    • How does it compare to Difftastic[1]? Both built on top of TreeSitter and solve similar problems. [1] https://difftastic.wilfred.me.uk/
      z0al on HN
    • How is it better or worse compared to https://github.com/dandavison/delta ?
      paaloeye on HN
    • 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…
      nickjj on HN
  • Can it be used with git diff without changing global config

    From 2 comments
    • Is there a way to use it with git without having to change your global git config? I.e. `git diff | omnidiff` or something? You can do this with delta: `git diff | delta…
      gslepak on HN
    • https://github.com/ivankovic/omnidiff#usage ``` OmniDiff also works directly with git diff and git log -p, through GIT_EXTERNAL_DIFF. This path needs no difftool config:…
      forgotpwd16 on HN
  • Examples of where it is better

    From 2 comments
    • Do you have any examples illustrating how it's better?
      eviks on HN
    • 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…
      nickjj on HN

Alternatives named

  • difftastic

    From 2 comments
    • How does it compare to Difftastic[1]? Both built on top of TreeSitter and solve similar problems. [1] https://difftastic.wilfred.me.uk/
      z0al on HN
    • How does it compare with diffstatic?
      cocoto on HN
  • delta

    From 2 comments
    • How is it better or worse compared to https://github.com/dandavison/delta ?
      paaloeye on HN
    • Is there a way to use it with git without having to change your global git config? I.e. `git diff | omnidiff` or something? You can do this with delta: `git diff | delta…
      gslepak on HN
  • mergiraf

    From 1 comment
  • diffsitter

    From 1 comment
    • > Meanwhile, some other projects will take the core idea of "language aware differ" and release BSD, and one of those will win, including perhaps making it into git/future…
      IshKebab on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/50325253)