mrkeyoor.com_
Tue 01 Sept 17:41 UTC
Dev Toolsevaluationupdated 30 Aug 2026

delta review

Delta is a terminal pager that makes Git diffs, unified diffs, grep output, and blame output easier to read with syntax colors, word-level change marking, line numbers, and optional side-by-side layout. It solves a daily ergonomics problem without changing how Git calculates the diff.

+66 / 2dstars / 7d
Verdict

Our Delta run passed all 876 tests after a 29-second install and 73-second build, which is strong evidence for a terminal tool that sits in every Git review. Use it if you want line-oriented diffs to stay familiar while becoming much easier to scan. Pick Difftastic when structural changes matter more than Git's original diff, and keep Delta's documented less and bat-version constraints in your setup notes.

We ran it

Lab card: what happened when we ran deltaScreenshot of delta (dandavison.github.io/delta)
Install✓ · 29s185 packages
Build✓ · 73s
Tests✓ · 206s876 passed · 0 failed of 876 (cargo test)
Repo204 files~30,138 lines of source · 4.6 MB · 5 CI workflows · tests dir

Answers from our run

Does delta build from source?

Dependencies installed in 29 seconds (185 packages), and the build succeeded in 73 seconds. We cloned commit 95a0e22 into a clean Debian container with 3 CPUs and no project-specific setup.

Do delta's tests pass?

Yes: 876 of 876 passed when we ran the project's own test command (cargo test). Some failures need services or credentials a bare container does not have.

Who should not use delta?

Reviewers who need an AST-aware or semantic diff: Delta formats line-oriented Git or unified diff output, while semantic integration remains an open request.

What are the alternatives to delta?

Difftastic, diff-so-fancy, icdiff. Our Delta run passed all 876 tests after a 29-second install and 73-second build, which is strong evidence for a terminal tool that sits in every Git review.

Setup4/5Binaries are easy; source build took 73 seconds
Docs5/5Detailed manual covers config, platforms, themes, and pager behavior
Community5/531,979 stars with active August 2026 issues and PRs
Maturity5/5876 tests passed and 5 CI workflows were present

Discussed on

  1. hnDelta: A syntax-highlighting pager for Git, diff, grep, and blame output642 points
  2. hnShow HN: A syntax highlighter for Git and diff output, written in Rust261 points
  3. hnDelta – A syntax-highlighting pager for Git, diff, and grep output4 points
  4. hnShow HN: A syntax-highlighting pager for Git4 points
  5. hnGit-Delta: Better Diffs3 points

Who it’s for

Developers who review large Git diffs in a terminal and want syntax-aware color plus navigation between files.
Teams that want a shared, versioned Git configuration for readable diffs across common platforms.
Jujutsu users who want a pager for Git-formatted diffs.
Terminal users who want file paths and commit hashes turned into clickable links where their terminal supports hyperlinks.

Who it’s NOT for

Reviewers who need an AST-aware or semantic diff: Delta formats line-oriented Git or unified diff output, while semantic integration remains an open request.
Users unwilling to edit Git configuration or depend on a recent less: both are part of the documented setup.
Owners of old macOS systems who expect the release binaries to work: the installation guide directs them to Homebrew, Cargo, or MacPorts instead.
Windows ARM64 users who require a native official release asset today: support was still an open issue on August 29, 2026.
Teams expecting flawless highlighting across incomplete code fragments: open issue 117 documents ambiguity around multiline constructs in diff hunks.

Setup reality

Our sandbox install succeeded in 29 seconds and resolved 185 packages. The Rust build then succeeded in 73 seconds. Cargo test finished in 206 seconds with 876 passed and 0 failed out of 876.

End users can download a binary or use a package manager, then set Delta as Git's pager in ~/.gitconfig. It needs no credentials or hosted service. Paging relies on a reasonably recent less, and custom bat syntaxes require the bat version matched by Delta's Cargo manifest.

The repository itself is a more serious build: 204 files, about 30,138 source lines, 5 CI workflow files, and no Dockerfile. Windows, old macOS versions, terminal hyperlink support, colors, and pager environment variables each have platform-specific behavior.

Delta improves line diffs without replacing Git's judgment

Delta accepts Git output and traditional unified diffs, then changes how they look in the terminal. Syntax coloring comes from the same theme family used by bat. Word-level edits are inferred with a Levenshtein algorithm, while optional line numbers and side-by-side panels give reviewers more context. Git still decides which lines changed. This distinction matters if you are comparing Delta with tools that parse programming language syntax and calculate a different diff.

The repository is substantial for a pager: our checkout had 204 files, about 30,138 source lines, and occupied 4.6 MB. That size supports more than color. Delta handles git diff, git show, patch logs, stash output, blame, grep, ripgrep JSON, merge conflicts, moved lines, and direct unified diff input. It can also strip + and - markers from copied code, which fixes a small annoyance that becomes frequent during reviews.

Side-by-side mode wraps lines and keeps syntax color

Side-by-side viewing is one of Delta's clearest reasons to install it. Both panels retain syntax highlighting, line numbers are enabled by default in this mode, and long lines wrap. Navigation keys move between files in a diff and between patches in git log -p. Commit hashes and file paths can become terminal hyperlinks, with documented hosting support for GitHub, GitLab, SourceHut, and Codeberg.

Customization extends beyond choosing dark or light mode. More than 20 elements can receive foreground colors, backgrounds, and font attributes through Git's style syntax. Delta can emulate diff-highlight and diff-so-fancy, yet those settings introduce another layer of terminal configuration. The defaults are worth trying before copying a large theme block into shared dotfiles. A readable team baseline is more useful than a personal palette nobody else can debug.

What happened when we ran it

Our sandbox install succeeded in 29 seconds and resolved 185 packages. Building the Rust project took 73 seconds. Cargo test then ran for 206 seconds and reported 876 passed with 0 failed out of 876. These results came from commit 95a0e22 in an unprivileged Debian container with 3 CPUs and 12 GB of RAM. Nothing in the supplied run failed.

The checkout contained 5 CI workflow files and a tests directory, but no Dockerfile. That is a reasonable layout for a cross-platform terminal binary distributed through release archives and package managers. The 206-second suite is long enough to notice on local iterations, although it completed cleanly on our box. Our measurement does not cover visual correctness in every terminal, shell, color mode, or pager configuration.

A binary install is easier than the 73-second source build

Most users should install a release binary or the git-delta package from their operating system. The executable is named delta, a naming mismatch the documentation calls out. Homebrew, Cargo, several Linux distributions, Windows package managers, Conda, and release archives are documented. Release 0.19.2 rebuilt Debian packages against an older Ubuntu base because the prior two packages required a glibc version available in Debian 13, not Debian 12.

Source contributors face the 185-package dependency graph and the 73-second build we measured. End users avoid most of that cost, but Delta still delegates paging to less and asks for a reasonably recent version. Users who build custom bat themes or language syntaxes must match the bat version specified in Delta's Cargo manifest. The manual warns that mismatched versions can crash with a memory error, which deserves a note in managed developer environments.

Git config gives broad coverage and creates hidden inputs

A few lines in ~/.gitconfig make Delta the pager for git diff, git show, git log -p, stash patches, reflog patches, and interactive add. The interactive.diffFilter setting uses --color-only, while navigation and dark or light detection sit under Delta's section. Jujutsu can send Git-formatted diffs to the same pager through its TOML configuration. No API key, account, or network service is required.

Pager behavior can still vary across machines because $LESSOPEN, $LESS, $PAGER, terminal width, background detection, and hyperlink support affect the result. With 5 CI workflows, upstream has visible automation, but your dotfiles remain outside those checks. Teams should commit a small include file, document the required pager version, and test it in the terminals they issue. That makes a rendering problem reproducible without turning personal shell state into archaeology.

Open reports mark the edge cases, not a dormant project

The last repository push was August 2, 2026, and GitHub activity continued later that month. An open August 29 request proposed native Windows ARM64 CI and release assets. Another report described a panic on unusual git grep output using an older Delta version. Issue 117, updated in August, explains how a diff hunk that begins inside a multiline string can leave syntax highlighting with insufficient context to classify following lines correctly.

GitHub showed 432 combined issues and pull requests, so that number must not be read as 432 confirmed bugs. The repository had 31,979 stars, while current pull requests addressed submodule dirty markers, grep colors, paths, and hyperlinks. Release 0.19.2 arrived on March 28, 2026, and August activity shows work continued after the tag. The open queue is large, but it is also specific and visibly active.

Delta is the safer default for familiar diffs

All 876 tests passing makes Delta easy to recommend as a Git pager, especially because removing it only requires reverting configuration. It improves the line-oriented format developers already understand and offers enough controls for narrow terminals, large patches, merge conflicts, and blame. Start with navigation and automatic background detection, then add line numbers or side-by-side mode after using the defaults for a week.

Choose Difftastic when syntax-aware comparison is the requirement, since Delta does not claim to compute semantic changes. Choose diff-so-fancy when a smaller presentation layer is enough. For teams staying with ordinary Git diffs, Delta has the stronger combination of documentation, package availability, test evidence, and active maintenance. The main operational task is keeping Git, less, bat customizations, and shared configuration in a known-good combination.

Alternatives

ProjectWhat it isPick it when
DifftasticA structural diff tool that compares syntax rather than only decorated lines.pick this instead when understanding code structure matters more than preserving ordinary Git diff output.
diff-so-fancyA lighter Git diff formatter focused on cleaner terminal presentation.pick this instead when you want a smaller formatter and do not need Delta's syntax themes or side-by-side mode.
icdiffA Python side-by-side diff program for files and command output.pick this instead when direct two-column file comparison matters more than deep Git pager integration.

What people are saying

  1. [github-trending] dandavison/delta
  2. [hackernews] Delta
  3. [arstechnica] DEF CON crowd suspected in fake-hotspot attack on Delta flight

Sources

  1. Delta repository README
  2. Delta installation manual
  3. Delta configuration manual
  4. Delta 0.19.2 release notes
  5. Windows ARM64 release request
  6. Multiline syntax highlighting issue

More dev tools reviews

workmux · v2rayNG · SecLists · hashcat · eslint · fastfetch · the whole board →