- Home
- Diff and Merge Tools
- icdiff
icdiff
What it is
icdiff is a free, open-source command-line tool that compares two files in a side-by-side terminal view. It emphasizes changes that may be difficult to notice with diff, especially small edits within existing lines, rather than replacing diff for every situation. Users can highlight differences with foreground or background colors and customize the color map. Display controls include line numbers, labels, whole-file output, whitespace highlighting, line truncation, and recursive directory comparison. The tool supports two-way comparisons, not three-way merges, and the maker describes use with Git, Subversion, and Mercurial. Installation methods listed include pip, apt, Homebrew, AUR, and Nix. icdiff runs on Linux and macOS as a command-line program that can be placed on the PATH. Input and output default to UTF-8, with command-line options for other encodings. Screen-width autodetection is Unix-only, and the exclude-lines option cannot be combined with line numbers. The project is released under a GPL-compatible license.
For and against
For
- Shows two files in side-by-side columns
- Highlights small in-line changes
- Supports recursive directory comparison
- Works with Git, Subversion, and Mercurial
- Offers several installation methods
Against
- Does not provide three-way merging
- Screen-width autodetection is Unix-only
- Exclude-lines conflicts with line numbers
- Runs on Linux and macOS only
The verdict
icdiff offers focused two-way comparison with configurable terminal highlighting and directory support. Its command-line format and documented option limits make it best suited to users comfortable with terminal workflows.
Who it suits
icdiff suits developers and other command-line users comparing files or directories on Linux and macOS. It is useful when side-by-side highlighting helps reveal small changes.
Plans and prices
icdiff
Open-source command-line diff tool
Read 9 Oct 2026 · github.com
On the record
- Color options
- It can highlight changes with foreground or background colors, and users can customize the color map.github.com · read 9 Oct 2026
- Display options
- Options include line numbers, labels, whole-file output, whitespace highlighting, line truncation, and recursive directory comparison.github.com · read 9 Oct 2026
- Encoding
- Input and output encoding default to UTF-8 and can be specified with command-line options.github.com · read 9 Oct 2026
- File comparison
- The command accepts left and right files and shows their differences in a two-column view.github.com · read 9 Oct 2026
- Install methods
- The maker lists pip, apt, and Homebrew installation on the product page; the README also lists AUR and Nix.github.com · read 9 Oct 2026
- License
- The README says the maker releases their changes under the same license as Python's difflib.HtmlDiff and that the license is GPL compatible.github.com · read 9 Oct 2026
- Limit
- Screen-width autodetection is Unix-only, and the exclude-lines option is incompatible with line numbers.github.com · read 9 Oct 2026
- Maker location
- Jeff Kaufman's About page says he lives in the Boston area.jefftk.com · read 9 Oct 2026
- Positioning
- The maker describes icdiff as a tool for seeing changes that are not immediately obvious from diff, rather than a replacement for diff in all circumstances.jefftk.com · read 9 Oct 2026
- Purpose
- icdiff highlights changes between similar files in a side-by-side terminal view, especially small changes within existing lines.jefftk.com · read 9 Oct 2026
- Support
- The product page links to the maker's contact page.jefftk.com · read 9 Oct 2026
- Terminal use
- icdiff is installed as a command-line program and can be placed on the user's PATH.github.com · read 9 Oct 2026
- Version control
- The README describes using icdiff with Git, Subversion, and Mercurial.github.com · read 9 Oct 2026