DevLogTechnical writing
Tools

delta: Make Git Diffs Worth Reading

November 03, 2026

You go back and forth in a huge diff, hunting for the one line that actually changed. Plain git diff shows you the whole line, whether you changed one token or forty. delta fixes that — not by hiding anything, but by making the change obvious.

delta is a syntax-highlighting pager for git and diff output, written in Rust by Dan Davison. The project lives at dandavison/delta on GitHub under an MIT license, and it has been around since mid-2019 — roughly 2,200 commits of polish. There are prebuilt binaries for Linux, macOS, and Windows, and you can also cargo install --locked delta if you have Rust 1.76 or newer.

Why people love it

The headline feature is word-level highlighting. delta points out exactly which characters changed inside a line — it uses a Levenshtein edit-inference algorithm to align the old and new text — so a three-word rename reads as three highlighted words instead of a recycled line. It also applies language syntax highlighting with the same themes you can get in bat, so reading a diff feels like reading code.

There's more, and it turns out to matter:

delta also dials git blame up: hashes get syntax highlighting, and with hyperlinks on, every commit becomes a link straight to its page on the provider.

Setting it up

delta reads configuration from your .gitconfig. The quick start is four lines:

git config --global core.pager delta
git config --global interactive.diffFilter 'delta --color-only'
git config --global delta.navigate true
git config --global merge.conflictStyle zdiff3

After that, every command that prints a diff — git diff, git show, git log -p, git stash show -p, git add -p — is paged through delta. You can tweak a one-off with git -c delta.line-numbers=false show when you want plain output on the spot.

delta is not wedded to git. It reads standard unified diff format, so it works as the pager for Mercurial and for jujutsu (set pager = "delta" and diff-formatter = ":git" in jj's config). If you already use diff-so-fancy or diff-highlight, there are emulation modes so you keep your muscle memory.

One honest caveat

delta changes nothing about how git stores data — it is purely a display layer, so removing it costs you nothing. That's the quiet strength of the whole category: a tool you can drop in, tune, and drop out.

Start with the defaults, turn on navigation and line numbers, and let it grow on you. The first time a two-line fix shows up as two clean characters instead of a wall of red, you won't want to go back.

← More Tools