Skip to content

diff-so-fancy vs lazygit

Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.

diff-so-fancy

Open source · MIT

A script that makes git and plain diff output easier for humans to read.

lazygit

Open source · MIT

A simple terminal interface for working with git commands.

The short answer

Choose diff-so-fancy if you need…

  • Developers who review many diffs in the terminal
  • People who use git from the command line and want clearer output
  • Users who want a simple drop-in change with no complex setup
  • Anyone reviewing changes made with plain diff -u

Choose lazygit if you need…

  • Developers who already use git from the command line and want a faster overview of their repository
  • People who prefer working inside a terminal rather than a graphical app
  • Users who want to stage, commit, and push changes without memorizing every git flag

Side-by-side

diff-so-fancylazygit
TypeCLICLI
PriceFree and open sourceFree and open source
LicenceMITMIT
GitHub stars18.1k83.6k
Setup difficultyBeginnerBeginner
How you get itDownload the appInstall with a package manager
Main languagePerlGo
Last code update19 days ago6 days ago

What each one is

diff-so-fancy

diff-so-fancy is a command-line script that reformats the text output of diff tools, including git diff, so changes are easier to scan. It adds color, simplifies headers, and hides the leading + and - symbols, which helps you spot mistakes faster. You plug it into git as a pager or diff filter, or pipe ordinary diff output into it.

lazygit

Lazygit is a terminal user interface (TUI) for git, the version control system used to track changes in code. Instead of typing git commands one by one, you use keyboard-driven panels to view status, stage changes, commit, and push. The README describes it simply as a terminal UI for git commands.

Best for

diff-so-fancy

  • Developers who review many diffs in the terminal
  • People who use git from the command line and want clearer output
  • Users who want a simple drop-in change with no complex setup
  • Anyone reviewing changes made with plain diff -u

lazygit

  • Developers who already use git from the command line and want a faster overview of their repository
  • People who prefer working inside a terminal rather than a graphical app
  • Users who want to stage, commit, and push changes without memorizing every git flag

Strengths

diff-so-fancy

  • Simple to install: the README says copying one script into your PATH is enough
  • Configurable through several git config options with documented defaults
  • Works with both git and standard diff output

lazygit

  • Keyboard-driven panels make common git actions quicker to reach than typing full commands
  • Free and open source under the MIT license
  • Available as prebuilt binaries for Linux, Windows, and FreeBSD, according to the latest release assets

Not ideal for

diff-so-fancy

  • People who do not use a terminal or command-line git, since it only formats text output
  • Users who want syntax-aware or structural diffs, because the README describes only line-based formatting
  • Anyone who needs the exact raw diff text, since the symbols and headers are changed for display

lazygit

  • People who are new to git and need to learn its concepts first, since the tool exposes git operations directly
  • Users who need a graphical desktop app or work mainly in an IDE, because it runs only in a terminal
  • Teams relying on hosting-platform workflows (pull requests, issues) that the README does not describe as supported

Trade-offs

diff-so-fancy

  • The README describes several installation routes, and packaging problems must be reported to those package maintainers
  • Some features, like semIntegration, depend on a separate tool named sem
  • Only the README was reviewed here, so behavior on edge cases is not verified

lazygit

  • Requires comfort with a terminal and a basic understanding of git
  • The README is truncated here, so detailed feature coverage and limits could not be fully verified
  • Its scope is git operations; it does not replace a full code editor or code review platform

Getting started

diff-so-fancy

Clone the repository (for development features)

git clone https://github.com/so-fancy/diff-so-fancy

Set git to use diff-so-fancy as the pager

git config --global core.pager "diff-so-fancy | less --tabs=4 -RF"
Step-by-step guide: how to use diff-so-fancy

lazygit

Clone the repository

git clone https://github.com/jesseduffield/lazygit
Step-by-step guide: how to use lazygit

Frequently asked questions

What is the difference between diff-so-fancy and lazygit?

diff-so-fancy: A script that makes git and plain diff output easier for humans to read. lazygit: A simple terminal interface for working with git commands. diff-so-fancy suits developers who review many diffs in the terminal, while lazygit suits developers who already use git from the command line and want a faster overview of their repository.

Are diff-so-fancy and lazygit free?

diff-so-fancy: Free and open source. lazygit: Free and open source.

Is diff-so-fancy or lazygit more popular?

lazygit has more GitHub stars (83.6k) than diff-so-fancy (18.1k). Popularity isn't the same as fit — check which one matches your use case above.

What are other alternatives to diff-so-fancy and lazygit?

Other options people compare them with include delta, difftastic, GitUI.

Keep comparing

Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.