Analysis updated 2026-06-24
Replace the default git diff display with a cleaner word-level highlighted view in your terminal.
Configure git to use diff-so-fancy automatically so every git diff, git show, and similar command looks better.
Pipe any standard diff command through diff-so-fancy to see a reformatted, more readable version.
Review code changes faster by seeing exactly which words changed rather than entire modified lines.
| so-fancy/diff-so-fancy | brendangregg/flamegraph | aldanial/cloc | |
|---|---|---|---|
| Stars | 18,017 | 19,473 | 22,970 |
| Language | Perl | Perl | Perl |
| Setup difficulty | easy | moderate | easy |
| Complexity | 1/5 | 3/5 | 1/5 |
| Audience | developer | ops devops | developer |
Figures from each repo's GitHub metadata at analysis time.
diff-so-fancy is a tool that makes the output of git diff, the command that shows what changed between versions of code, much easier for humans to read. By default, git diff shows changes as plain text with plus and minus signs at the start of each line, which can be hard to scan quickly. diff-so-fancy reformats this output with cleaner visual styling, removes the leading symbols, simplifies the file header lines, and highlights the specific words that changed within each line rather than just marking the entire line. You configure it by telling git to use diff-so-fancy as its "pager" (the program that displays output). After that, it works automatically whenever you run git diff, git show, or other diff-generating commands. The readme also provides recommended color settings that improve contrast for the highlighted portions. diff-so-fancy can also be used independently of git by piping the output of the standard diff command through it. It is a Perl script that can be installed from its source repository, through package managers including npm, Homebrew, Nix, Scoop, and others, or from Linux distribution repositories.
A tool that makes git diff output much easier to read by reformatting it with cleaner visuals and highlighting exactly which words changed on each line.
Mainly Perl. The stack also includes Perl.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.