Delta is a viewer for git and diff output.
The program 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.
This is free and open source software.
Key Features
- Language syntax highlighting with color themes.
- Within-line highlights based on a Levenshtein edit inference algorithm.
- Git style strings (foreground color, background color, font attributes) are supported for >20 stylable elements.
- Side-by-side view. By default, side-by-side view has line-numbers activated, and has syntax highlighting in both the left and right panels
- Line numbering.
- diff-highlight and diff-so-fancy emulation modes. diff-highlight is a perl script distributed with git that allows within-line edits to be identified and highlighted according to colors specified in git config. diff-so-fancy builds on diff-highlight, making various additional improvements to the default git diff output. Both tools provide very helpful ways of viewing diffs, and so delta provides emulation modes for both of them.
- Stylable box/line decorations to draw attention to commit, file and hunk header sections.
- Support for Git’s –color-moved feature.
- Code can be copied directly from the diff (-/+ markers are removed by default).
- n and N keybindings to move between files in large diffs, and between diffs in log -p views (–navigate).
Website: github.com/dandavison/delta
Support:
Developer: Dan Davison
License: MIT License

delta is written in Rust. Learn Rust with our recommended free books and free tutorials.
Related Software
| Terminal-Based Diff Tools | |
|---|---|
| difftastic | Structural diff tool that compares files based on their syntax |
| diff-so-fancy | Attractive diffs with diff-highlight and more |
| delta | Viewer for git and diff output |
| icdiff | An improved colored diff |
| diffoscope | In-depth comparison of files, archives, and directories |
| colordiff | Wrapper for diff with pretty syntax highlighting |
| diffsitter | Semantic diff tool |
| objdiff | Local diffing tool for decompilation project |
| ydiff | Tool to view colored, incremental diff in a version controlled workspace |
| diffr | Word-by-word diff highlighting utility |
| dyff | diff tool for YAML files |
| Wdiff | Wordwise implementation of diff |
| dwdiff | diff program that operates at the word level |
| oyo | Step-through diff viewer |
| diffyml | Compares YAML documents by their structure |
| diff2html-cli | Generate HTML diffs |
| biodiff | Terminal-based binary diff viewer |
| dirdiff | Compute the differences between two directories |
| csvdiff | Fast diff tool for comparing CSV files |
| VBinDiff | Visual binary diff |
| riff | Wrapper around diff |
| csv-diff | Diffing CSV and JSON files |
| xmldiff | Compare XML documents |
| vbl | Terminal-based hexadecimal viewer |
| Patdiff | File diff using the Patience Diff algorithm |
| dead-ringer | Binary diff utility |
| sesdiff | Generates a shortest edit script |
| semdiff | Semantic diff tool written in Rust |
Read our verdict in the software roundup.
| Git Tools | |
|---|---|
| git-extras | Superb collection of tools for Git |
| git-lfs | Git extension for versioning large files |
| git-filter-repo | Quickly rewrite git repository history |
| git-stats | Local git statistics including GitHub-like contributions calendars |
| git-bug | Distributed offline-first bug tracker |
| git-delta | Viewer for git and diff output |
| git-branchless | Branchless workflow for git |
| git-repair | Repair various forms of damage to git repositories |
| git-toolbelt | Suite of useful Git commands |
| git-quick-stats | Access various statistics in a git repository |
| git-secret | Bash tool which stores private data inside a git repo |
| git-annex | Manage files with git without checking the file contents into git |
| git-absorb | Super-charging git rebase |
| git-standup | Recall what you did on the last working day |
| git-town | Automate the creation, synchronization, shipping, and cleanup |
| git-of-theseus | Analyze how a Git repo grows over time |
| git-crypt | Transparent file encryption in git |
| gita | Manage multiple git repos |
| git-machete | Robust tool that simplifies your git workflows |
| git-imerge | Incremental merge and rebase for Git |
| git-chglog | CHANGELOG generator implemented in Go |
| git-fuzzy | Interactive git with the help of fzf |
| git-big-picture | Visualization tool that removes uninteresting commits |
| hercules | Gain advanced insights from Git repository history |
| git-sizer | Compute various size metrics for a git repository |
| git-crecord | Interactively select changes to commit or stage |
| git-xargs | Update across multiple GitHub repositories |
| git-fame | Git repository collaborators sorted by contributions |
| git-prompt.zsh | Lightweight git prompt for zsh |
| git-flow | High-level repository operations |
| mamediff | Manages unstaged and staged Git diffs |
| Git Interactive Rebase Tool | Terminal-based sequence editor for interactive rebase |
| Forge Sparks | Get Git forges notifications |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

