# Install icdiff with Homebrew, apk, apt, MacPorts, Nix

Improved colored diff. Version 2.0.10 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:icdiff
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install icdiff
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install icdiff
```

  Evidence: MacPorts ports tree: textproc/icdiff/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add icdiff
```

  Evidence: Alpine Linux edge package indexes: icdiff from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install icdiff
```

  Evidence: Debian stable package indexes: icdiff from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#icdiff
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ic/icdiff/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:icdiff
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/icdiff>
- **Version:** 2.0.10
- **Source summary:** Improved colored diff
- **Homepage:** <https://www.jefftk.com/icdiff>
- **Repository:** <https://github.com/jeffkaufman/icdiff>
- **Upstream docs:** <https://www.jefftk.com/icdiff>
- **License:** PSF-2.0
- **Source archive:** <https://github.com/jeffkaufman/icdiff/archive/refs/tags/release-2.0.10.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- git-icdiff (cli)
- icdiff (cli)
- git-icdiff (alias)
- icdiff (alias)

## Uses from macOS

- python

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.0.10
- Local data: ok
- Upstream repository: https://github.com/jeffkaufman/icdiff
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

icdiff is a Python command-line diff viewer that presents side-by-side, color-highlighted differences in a terminal. Its goal is not to replace every diff workflow, but to make small intra-line changes easier to see.

### Project history

Jeff Kaufman's project page frames icdiff as a focused improvement over plain terminal `diff`: color and side-by-side layout for cases where similar lines are hard to compare. The README says the file is derived from Python's `difflib.HtmlDiff`, released under the same Python license.

The changelog begins with 1.0.0 as the first release and then records a long line of practical terminal and VCS improvements: recursive directory diffs, Unicode and fullwidth-character handling, Git integration, Subversion support, configurable colors, labels, line numbers, Python 3 cleanup, and process-exit behavior.

### Adoption history

The README documents installation through pip, apt, Homebrew, AUR, and Nix, and gives integration recipes for Git, Subversion, and Mercurial. The Homebrew package also installs `git-icdiff`, making it a convenient drop-in visual diff helper for version-control users.

### How it is used

The direct command form is `icdiff [options] left_file right_file`. It can also be used as `git difftool --extcmd icdiff`, as `git icdiff` through the helper script, as an SVN diff command, or as a Mercurial extdiff command.

### Why package nerds care

icdiff is a compact example of package-manager value: a single-purpose terminal UX improvement that spreads through many ecosystems because developers repeatedly want readable diffs without adopting a full graphical merge tool.

### Timeline

- 1.0.0: First release recorded in the changelog.
- 1.2.0: Recursive directory diff support added.
- 1.5.3: Subversion difftool support added.
- 1.9.2: Configurable colors, git configuration, and cleaner errors added.
- 2.0.0: Python 2 support dropped and long-line handling improved.
- 2.0.10: Terminal width detection regression reverted.

### Related projects

- Related tools and workflows include Python `difflib`, Unix `diff`, Git difftool, Subversion diff commands, Mercurial extdiff, and other terminal visual diff tools.

### Sources

- <https://formulae.brew.sh/formula/icdiff>
- <https://github.com/jeffkaufman/icdiff>
- <https://raw.githubusercontent.com/jeffkaufman/icdiff/master/ChangeLog>
- <https://www.jefftk.com/icdiff>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** icdiff
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - icdiff - 2.0.7-4.1: normalized package name match | Debian stable package indexes: icdiff from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | terminal side-by-side colorized word diff | https://www.jefftk.com/icdiff
- Nix - icdiff: normalized package name match | nixpkgs package indexes: pkgs/by-name/ic/icdiff/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - icdiff - 2.0.7-1: normalized package name match | Ubuntu 24.04 LTS package indexes: icdiff from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | terminal side-by-side colorized word diff | https://www.jefftk.com/icdiff
- apk - icdiff - 2.0.10-r1: normalized package name match | Alpine Linux edge package indexes: icdiff from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Improved colored diff | https://www.jefftk.com/icdiff
- apk - icdiff-pyc - 2.0.10-r1: normalized package name match | Alpine Linux edge package indexes: icdiff-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Precompiled Python bytecode for icdiff | https://www.jefftk.com/icdiff
- MacPorts - icdiff: normalized package name match | MacPorts ports tree: textproc/icdiff/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [colordiff](https://www.automicvault.com/pkg/brew/colordiff/) - Shares av.db curated category or tags: cli, developer-tools, diff, terminal.
- [diff-so-fancy](https://www.automicvault.com/pkg/brew/diff-so-fancy/) - Shares av.db curated category or tags: cli, developer-tools, diff, terminal.
- [diffr](https://www.automicvault.com/pkg/brew/diffr/) - Shares av.db curated category or tags: cli, developer-tools, diff, terminal.
- [diffnav](https://www.automicvault.com/pkg/brew/diffnav/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [diffoci](https://www.automicvault.com/pkg/brew/diffoci/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [diffoscope](https://www.automicvault.com/pkg/brew/diffoscope/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [diffstat](https://www.automicvault.com/pkg/brew/diffstat/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [difftastic](https://www.automicvault.com/pkg/brew/difftastic/) - Shares av.db curated category or tags: cli, developer-tools, diff.

## Combined YAML source

View the package source record on GitHub. [combined/icdiff.yml](https://github.com/automic-vault/db/blob/main/combined/icdiff.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
