A syntax-highlighting pager for git, diff, grep, and blame output
  • Rust 95.5%
  • Shell 4.1%
  • Makefile 0.3%
Find a file
Dan Davison 6a357ade63 CD: fix verify job to work with draft releases
Use `gh release download` instead of public URLs to fetch .deb
assets, since draft releases aren't accessible via the public
releases/download/ path.
2026-03-28 15:44:54 -04:00
.cargo Ignore RUSTSEC-2020-0071 2021-10-26 12:04:29 -04:00
.github CD: fix verify job to work with draft releases 2026-03-28 15:44:54 -04:00
etc Delete now-unused pricate homebrew formula step from Makefile (III) (#1830) 2024-11-15 20:20:17 -05:00
manual Update --help output 2026-03-19 23:02:46 -04:00
src Update bat dependency from 0.24 to 0.26 (#2115) 2026-03-08 21:28:21 -04:00
tests Fix hyperlink absolute paths (#939) 2022-02-14 12:30:30 -05:00
.gitattributes add .gitattributes rules for rust files (#1245) 2024-03-17 14:08:50 -04:00
.gitignore gitignore task automation files 2026-03-09 06:26:42 -04:00
ARCHITECTURE.md Fix github links from master to main (#1709) 2024-07-12 08:04:06 +01:00
Cargo.lock Bump version 2026-03-28 15:37:30 -04:00
Cargo.toml Bump version 2026-03-28 15:37:30 -04:00
CONTRIBUTING.md Edit CONTRIBUTING.md 2022-09-06 19:39:47 -04:00
LICENSE Edit license: exactly match https://opensource.org/licenses/MIT 2020-04-27 11:19:43 -04:00
Makefile Delete unused Makefile target 2024-09-06 19:30:08 -04:00
README.md Update docs to make 3 basic configs match (#2117) 2026-03-09 06:57:22 -04:00
themes.gitconfig Tune themes weeping-willow, mirthful-willow (#2011) 2025-07-05 13:46:29 -04:00

image

CI Coverage Status Gitter

Get Started

Install it (the package is called "git-delta" in most package managers, but the executable is just delta) and add this to your ~/.gitconfig:

[core]
    pager = delta

[interactive]
    diffFilter = delta --color-only

[delta]
    navigate = true  # use n and N to move between diff sections
    dark = true      # or light = true, or omit for auto-detection

[merge]
    conflictStyle = zdiff3

Or run:

git config --global core.pager delta
git config --global interactive.diffFilter 'delta --color-only'
git config --global delta.navigate true
git config --global delta.dark true  # or `delta.light true`, or omit for auto-detection
git config --global merge.conflictStyle zdiff3

Delta has many features and is very customizable; please see delta -h (short help) or delta --help (full manual), or the online user manual.

Features

  • Language syntax highlighting with the same syntax-highlighting themes as bat
  • Word-level diff highlighting using a Levenshtein edit inference algorithm
  • Side-by-side view with line-wrapping
  • Line numbering
  • n and N keybindings to move between files in large diffs, and between diffs in log -p views (--navigate)
  • Improved merge conflict display
  • Improved git blame display (syntax highlighting; --hyperlinks formats commits as links to hosting provider etc. Supported hosting providers are: GitHub, GitLab, SourceHut, Codeberg)
  • Syntax-highlights grep output from rg, git grep, grep, etc
  • Support for Git's --color-moved feature.
  • Code can be copied directly from the diff (-/+ markers are removed by default).
  • diff-highlight and diff-so-fancy emulation modes
  • Commit hashes can be formatted as terminal hyperlinks to the hosting provider page (--hyperlinks). File paths can also be formatted as hyperlinks for opening in your OS.
  • Stylable box/line decorations to draw attention to commit, file and hunk header sections.
  • Style strings (foreground color, background color, font attributes) are supported for >20 stylable elements, using the same color/style language as git
  • Handles traditional unified diff output in addition to git output
  • Automatic detection of light/dark terminal background

A syntax-highlighting pager for git, diff, and grep output

Code evolves, and we all spend time studying diffs. Delta aims to make this both efficient and enjoyable: it allows you to make extensive changes to the layout and styling of diffs, as well as allowing you to stay arbitrarily close to the default git/diff output.

image

delta with line-numbers activated

image

delta with side-by-side and line-numbers activated

Here's what git show can look like with git configured to use delta:


image image
"Dracula" theme "GitHub" theme


Syntax-highlighting themes

All the syntax-highlighting color themes that are available with bat are available with delta:


image image
delta --show-syntax-themes --dark delta --show-syntax-themes --light

Side-by-side view

[User manual]

[delta]
    side-by-side = true

By default, side-by-side view has line-numbers activated, and has syntax highlighting in both the left and right panels: [config]

image

Side-by-side view wraps long lines automatically:

image

Line numbers

[User manual]

[delta]
    line-numbers = true
image

Merge conflicts

[User manual]

image

Git blame

[User manual]

image

Ripgrep, git grep

[User manual]

image

Installation and usage

Please see the user manual and delta --help.

Maintainers