# Install wdiff with Homebrew, apt, dnf, MacPorts, Nix, pacman, zypper

Display word differences between text files. Version 1.2.2 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:wdiff
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install wdiff
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install wdiff
```

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

### Linux

- Debian apt (92%):

```sh
sudo apt install wdiff
```

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

- dnf (92%):

```sh
sudo dnf install wdiff
```

  Evidence: Fedora Rawhide package metadata: wdiff from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#wdiff
```

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

- pacman (92%):

```sh
sudo pacman -S wdiff
```

  Evidence: Arch Linux sync databases: wdiff from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install wdiff
```

  Evidence: openSUSE Tumbleweed package metadata: wdiff from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:wdiff
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/wdiff>
- **Version:** 1.2.2
- **Source summary:** Display word differences between text files
- **Homepage:** <https://www.gnu.org/software/wdiff/>
- **Repository:** <http://bzr.savannah.gnu.org/r/wdiff/trunk>
- **Upstream docs:** <https://www.gnu.org/software/wdiff>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://ftpmirror.gnu.org/gnu/wdiff/wdiff-1.2.2.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- mdiff (cli)
- unify (cli)
- wdiff (cli)
- wdiff2 (cli)
- mdiff (alias)
- unify (alias)
- wdiff (alias)
- wdiff2 (alias)

## Dependencies

- gettext

## Build dependencies

- texinfo

## Uses from macOS

- ncurses

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.2.2
- Local data: ok
- Upstream repository: https://www.gnu.org/software/wdiff/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

GNU wdiff is a word-oriented front end to diff. Instead of showing line-level changes, it tokenizes text into words, compares the temporary word-per-line forms with diff, and then reconstructs output that highlights word additions and deletions in the original text.

Its niche is prose and documentation review: it is useful when paragraphs have been reflowed or wrapped differently and a normal line diff would make a small wording change look like a large block replacement.

### Project history

The GNU wdiff NEWS file records the first public release, version 0.00, in August 1992 by Francois Pinard. Pinard continued the early series through version 0.5 in November 1994, adding behavior such as case-insensitive comparison and standard-input handling.

In June 2007, Denver Gingerich released 0.5.4 and integrated changes from Pinard's 0.5g work from November 1998, including internationalized program messages and short manual pages for related tools. Martin von Gagern then revived the package with version 0.6.0 in March 2010, described by GNU as the first official release in a long time, and moved development from CVS to Bazaar.

The package reached version 1.0.0 in September 2011, with the version bump explicitly marking maturity. Later releases improved translations, Unicode and pager behavior, gnulib integration, and build-system maintenance. GNU lists version 1.2.2 from April 2014 as a release by Martin von Gagern and names him as the current maintainer on the project page.

### How it is used

The basic command compares an old file and a new file and prints an annotated copy of the new file. The default markers can be replaced with custom strings, terminal highlighting, less-compatible highlighting, LaTeX or troff markup, or ANSI color sequences.

wdiff can also consume a unified diff with the -d option, which makes it a post-processor for version-control output. Its companion tools include mdiff for multi-difference or cluster-oriented comparison, unify for converting context diffs and unified diffs, and wdiff2 as an experimental successor using mdiff as its backend.

### Why package nerds care

wdiff is one of the small GNU text-processing tools that fills a gap left by line-based diff. It is not a version-control system feature or a rich review UI; it is a composable filter that can be piped into pagers, formatters, sed scripts, or documentation workflows.

For package-history purposes, it is also a neat example of GNU maintenance continuity: an early-1990s utility by Francois Pinard, revived and modernized in the 2010s with gnulib, gettext, autotools, translation updates, and Bazaar-hosted development.

### Timeline

- 1992-08: wdiff 0.00 is released by Francois Pinard.
- 1994-11: wdiff 0.5 is released, still in the Pinard-led early series.
- 2007-06: wdiff 0.5.4 integrates older 0.5g-era work and adds packaging/documentation improvements.
- 2010-03: wdiff 0.6.0 becomes the first official release in a long time and switches source control from CVS to Bazaar.
- 2011-09: wdiff 1.0.0 is released to reflect package maturity.
- 2014-04: wdiff 1.2.2 updates translations, gnulib, and autotools.

### Related projects

- wdiff builds on GNU diffutils diff and is distributed in the GNU ecosystem alongside tools such as gettext, gnulib, and other command-line text processors. Its own manual also documents mdiff, unify, and wdiff2.

### Sources

- <https://github.com/jwilk-mirrors/wdiff/blob/trunk/NEWS>
- <https://www.gnu.org/software/wdiff/>
- <https://www.gnu.org/software/wdiff/manual/wdiff.html>


## 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:** wdiff
- **Version Scheme:** 0
- **Revision:** 2
- **Conflicts With:** montage
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - wdiff - 1.2.2-9: normalized package name match | Debian stable package indexes: wdiff from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Compares two files word by word | https://www.gnu.org/software/wdiff/
- Debian apt - wdiff-doc - 1.2.2-9: normalized package name match | Debian stable package indexes: wdiff-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Documentation for GNU wdiff | https://www.gnu.org/software/wdiff/
- Nix - wdiff: normalized package name match | nixpkgs package indexes: pkgs/by-name/wd/wdiff/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - wdiff - 1.2.2-6build1: normalized package name match | Ubuntu 24.04 LTS package indexes: wdiff from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Compares two files word by word | https://www.gnu.org/software/wdiff/
- Ubuntu apt - wdiff-doc - 1.2.2-6build1: normalized package name match | Ubuntu 24.04 LTS package indexes: wdiff-doc from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Documentation for GNU wdiff | https://www.gnu.org/software/wdiff/
- dnf - wdiff - 1.2.2-58.fc45: normalized package name match | Fedora Rawhide package metadata: wdiff from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Compare files on a word per word basis | https://www.gnu.org/software/wdiff/
- pacman - wdiff - 1.2.2-5: normalized package name match | Arch Linux sync databases: wdiff from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A wordwise implementation of GNU diff | https://www.gnu.org/software/wdiff/
- zypper - wdiff - 1.2.2-9.5: normalized package name match | openSUSE Tumbleweed package metadata: wdiff from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Display Word Differences Between Text Files | https://www.gnu.org/software/wdiff/
- zypper - wdiff-lang - 1.2.2-9.5: normalized package name match | openSUSE Tumbleweed package metadata: wdiff-lang from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Translations for package wdiff | https://www.gnu.org/software/wdiff/
- MacPorts - wdiff: normalized package name match | MacPorts ports tree: textproc/wdiff/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Nix - unify: installed executable or alias match | nixpkgs package indexes: unify from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix


## 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.
- [gettext](https://www.automicvault.com/pkg/brew/gettext/) - Runtime dependency declared by Homebrew.
- [texinfo](https://www.automicvault.com/pkg/brew/texinfo/) - Build dependency declared by Homebrew.
- [pkgdiff](https://www.automicvault.com/pkg/brew/pkgdiff/) - Popular package that depends on this formula.
- [enscript](https://www.automicvault.com/pkg/brew/enscript/) - Shares av.db curated category or tags: cli, developer-tools, gnu, text-processing.
- [gawk](https://www.automicvault.com/pkg/brew/gawk/) - Shares av.db curated category or tags: cli, developer-tools, gnu, text-processing.
- [grep](https://www.automicvault.com/pkg/brew/grep/) - Shares av.db curated category or tags: cli, developer-tools, gnu, text-processing.
- [align](https://www.automicvault.com/pkg/brew/align/) - Shares av.db curated category or tags: cli, developer-tools, text-processing.
- [bsdconv](https://www.automicvault.com/pkg/brew/bsdconv/) - Shares av.db curated category or tags: cli, developer-tools, text-processing.
- [cconv](https://www.automicvault.com/pkg/brew/cconv/) - Shares av.db curated category or tags: cli, developer-tools, text-processing.
- [cmigemo](https://www.automicvault.com/pkg/brew/cmigemo/) - Shares av.db curated category or tags: cli, developer-tools, text-processing.
- [decasify](https://www.automicvault.com/pkg/brew/decasify/) - Shares av.db curated category or tags: cli, developer-tools, text-processing.
- [diffutils](https://www.automicvault.com/pkg/brew/diffutils/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, diff, gnu.

## Combined YAML source

View the package source record on GitHub. [combined/wdiff.yml](https://github.com/automic-vault/db/blob/main/combined/wdiff.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
