A content-aware diff tool in Rust that compares code structurally with tree-sitter and also diffs pictures, fonts, archives and PDFs.
dandavison/delta
A syntax-highlighting pager for git, diff, grep and blame output, configured as a drop-in replacement for git's default pager.
- Stars
- 32,677
- Forks
- 616
- Open issues
- 491
- Last commit
- 10 days ago
What is it?
Delta is a command-line pager that formats the output of git diff, git show, git log -p, git blame and grep tools such as rg and git grep. It applies syntax highlighting using the same color themes as bat, and highlights changed words within lines using a Levenshtein-based edit inference algorithm.
It is set up by pointing git's core.pager at delta and adding a few lines to ~/.gitconfig. Layout options include side-by-side view with line wrapping, line numbers, and a navigate mode where the n and N keys jump between files or diffs. Merge conflict output and git blame are also reformatted, and commit hashes and file paths can be turned into terminal hyperlinks for GitHub, GitLab, SourceHut and Codeberg.
Delta also accepts traditional unified diff output, supports Git's --color-moved feature, and can emulate diff-highlight and diff-so-fancy styles. Light and dark terminal backgrounds are detected automatically, and more than 20 elements can be styled with git-style color strings.
Key features
- 01Syntax highlighting with the same themes as bat
- 02Word-level highlighting of changes within lines
- 03Side-by-side view with automatic line wrapping
- 04Line numbers and n/N navigation between files and diffs
- 05Improved display for git blame, merge conflicts and grep output
- 06Hyperlinks for commits and file paths on GitHub, GitLab, SourceHut and Codeberg
Use cases
- Reviewing git diffs and git show output in the terminal
- Reading git blame history with syntax-colored code
- Viewing ripgrep or git grep results with highlighting
- Resolving merge conflicts with a clearer layout
Quick start
- 1
Install the package (named git-delta in most package managers; the executable is delta)
- 2
Set delta as git's pager
git config --global core.pager delta - 3
Use delta for interactive diff filtering
git config --global interactive.diffFilter 'delta --color-only' - 4
Enable navigation with n and N between diff sections
git config --global delta.navigate true
In collections
Topics
FAQ
- What is delta?
- A syntax-highlighting pager for git, diff, grep and blame output, configured as a drop-in replacement for git's default pager. Delta is a command-line pager that formats the output of git diff, git show, git log -p, git blame and grep tools such as rg and git grep. It applies syntax highlighting using the same color themes as bat, and highlights changed words within lines using a Levenshtein-based edit inference algorithm.
- Is delta free to use? What license does it have?
- delta is open source under the MIT license. Check the license terms before using it in commercial products.
- Is delta still maintained?
- Actively maintained. The last commit to delta was on Oct 28, 2026.
- What can I use delta for?
- Reviewing git diffs and git show output in the terminal Reading git blame history with syntax-colored code Viewing ripgrep or git grep results with highlighting Resolving merge conflicts with a clearer layout
- How do I install delta?
- Install the package (named git-delta in most package managers; the executable is delta) Set delta as git's pager: git config --global core.pager delta Use delta for interactive diff filtering: git config --global interactive.diffFilter 'delta --color-only' Enable navigation with n and N between diff sections: git config --global delta.navigate true
- Where can I get delta?
- The source code and installation instructions are on GitHub: https://github.com/dandavison/delta
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A git pager that renders diffs side by side with syntax highlighting in the terminal, GitHub-style.
Interactive terminal diff viewer for reviewing code changes from Git, Jujutsu, Sapling, GitHub PRs, and raw files, with inline agent notes.
A CLI tool that opens a local GitHub-style web viewer for reviewing git commit diffs, with comments you can copy as AI prompts.
A cat(1) clone for the terminal with syntax highlighting, Git change markers, and automatic paging.
A terminal tool that replays Git commits as animated typing sessions with syntax highlighting and file tree transitions.