# Install diff-pdf with Homebrew, apk, dnf, MacPorts, Nix, pacman, scoop, zypper

Visually compare two PDF files. Version 0.5.3 via Homebrew; verified 2026-05-14.

## Install

```sh
sudo av install brew:diff-pdf
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install diff-pdf
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install diff-pdf
```

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

### Linux

- apk (92%):

```sh
sudo apk add diff-pdf
```

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

- dnf (92%):

```sh
sudo dnf install diff-pdf
```

  Evidence: Fedora Rawhide package metadata: diff-pdf 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#diff-pdf
```

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

- pacman (92%):

```sh
sudo pacman -S diff-pdf
```

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

- zypper (92%):

```sh
sudo zypper install diff-pdf
```

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

### Windows

- Scoop (92%):

```sh
scoop install extras/diff-pdf
```

  Evidence: Scoop official bucket manifest trees: bucket/diff-pdf.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:diff-pdf
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/diff-pdf>
- **Version:** 0.5.3
- **Source summary:** Visually compare two PDF files
- **Homepage:** <https://vslavik.github.io/diff-pdf/>
- **Repository:** <https://github.com/vslavik/diff-pdf>
- **Upstream docs:** <https://github.com/vslavik/diff-pdf#readme>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://github.com/vslavik/diff-pdf/releases/download/v0.5.3/diff-pdf-0.5.3.tar.gz>
- **Last updated:** 2026-05-14T22:24:05-04:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- diff-pdf (cli)
- diff-pdf (alias)

## Dependencies

- cairo
- gettext
- glib
- poppler
- wxwidgets@3.2

## Build dependencies

- autoconf
- automake
- libtool
- pkgconf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.5.3
- Package-manager updated: 2026-05-14
- Local data: ok
- Upstream repository: https://github.com/vslavik/diff-pdf
- info: No cached GitHub release or tag data was available.
## Project history and usage

diff-pdf is a small visual comparison tool for PDF files. It can act like a quiet CLI checker through exit status, emit a highlighted diff PDF, or open a simple viewer for page-by-page inspection.

### Project history

The upstream GitHub repository was created in 2009 and describes diff-pdf as a simple tool for visually comparing two PDF files. The README now labels the project as provided as-is and not actively developed, while still welcoming patches.

The project has kept a traditional autotools build and depends on wxWidgets, Cairo, and Poppler. GitHub releases show continuing tagged maintenance from the 0.3 series in 2019 through 0.5.3 in 2026.

### Adoption history

diff-pdf became useful to packagers because it fills a precise automation gap: comparing rendered PDFs in CI, document workflows, and release checks where textual diffs do not describe visual output. The README documents installation through Windows release ZIPs, Chocolatey, Homebrew, MacPorts, Fedora/CentOS packages, and openSUSE builds.

### How it is used

Common usage is diff-pdf a.pdf b.pdf for an exit code, --output-diff=diff.pdf for a marked-up artifact, or --view for an interactive GUI. That mix makes it useful both in scripts and in manual document review.

### Why package nerds care

The package is a good example of Unix packaging around graphical document infrastructure: a CLI front end with GUI mode, native library dependencies, and real value in reproducible document testing.

### Timeline

- 2009: The vslavik/diff-pdf GitHub repository is created.
- 2019: Version 0.3 appears in GitHub releases.
- 2021: Version 0.5 is released.
- 2026: Version 0.5.3 is released.

### Related projects

- Poppler, Cairo, wxWidgets, Chocolatey, Homebrew, MacPorts, and openSUSE Build Service are the main adjacent tools and distribution surfaces named by upstream.

### Sources

- <https://github.com/vslavik/diff-pdf>
- <https://api.github.com/repos/vslavik/diff-pdf>
- <https://raw.githubusercontent.com/vslavik/diff-pdf/master/README.md>
- <https://api.github.com/repos/vslavik/diff-pdf/releases>


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

## Other Package-Manager Records

- Nix - diff-pdf: normalized package name match | nixpkgs package indexes: pkgs/by-name/di/diff-pdf/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - diff-pdf - 0.5.3-r0: normalized package name match | Alpine Linux edge package indexes: diff-pdf from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A simple tool for visually comparing two PDF files | https://vslavik.github.io/diff-pdf/
- dnf - diff-pdf - 0.5.3-1.fc45: normalized package name match | Fedora Rawhide package metadata: diff-pdf from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A simple tool for visually comparing two PDF files | http://vslavik.github.io/diff-pdf/
- pacman - diff-pdf - 0.5.3-1: normalized package name match | Arch Linux sync databases: diff-pdf from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A simple tool for visually comparing two PDF files | http://vslavik.github.io/diff-pdf
- zypper - diff-pdf - 0.5-2.17: normalized package name match | openSUSE Tumbleweed package metadata: diff-pdf from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Simple PDF comparison tool | https://vslavik.github.io/diff-pdf/
- MacPorts - diff-pdf: normalized package name match | MacPorts ports tree: graphics/diff-pdf/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - extras/diff-pdf: normalized package name match | Scoop official bucket manifest trees: bucket/diff-pdf.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [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.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [cairo](https://www.automicvault.com/pkg/brew/cairo/) - Runtime dependency declared by Homebrew.
- [gettext](https://www.automicvault.com/pkg/brew/gettext/) - Runtime dependency declared by Homebrew.
- [glib](https://www.automicvault.com/pkg/brew/glib/) - Runtime dependency declared by Homebrew.
- [poppler](https://www.automicvault.com/pkg/brew/poppler/) - Runtime dependency declared by Homebrew.
- [wxwidgets@3.2](https://www.automicvault.com/pkg/brew/wxwidgets-3-2/) - Runtime dependency declared by Homebrew.
- [autoconf](https://www.automicvault.com/pkg/brew/autoconf/) - Build dependency declared by Homebrew.
- [automake](https://www.automicvault.com/pkg/brew/automake/) - Build dependency declared by Homebrew.
- [libtool](https://www.automicvault.com/pkg/brew/libtool/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [briss](https://www.automicvault.com/pkg/brew/briss/) - Shares av.db curated category or tags: cli, gui, pdf, productivity.
- [pdfpc](https://www.automicvault.com/pkg/brew/pdfpc/) - Shares av.db curated category or tags: cli, gui, pdf, productivity.
- [cpdf](https://www.automicvault.com/pkg/brew/cpdf/) - Shares av.db curated category or tags: cli, pdf, productivity.
- [xpdf](https://www.automicvault.com/pkg/brew/xpdf/) - Shares av.db curated category or tags: cli, pdf, productivity.
- [yamlresume](https://www.automicvault.com/pkg/brew/yamlresume/) - Shares av.db curated category or tags: cli, documents, pdf, productivity.
- [doxx](https://www.automicvault.com/pkg/brew/doxx/) - Shares av.db curated category or tags: cli, documents, productivity.
- [jpdfbookmarks](https://www.automicvault.com/pkg/brew/jpdfbookmarks/) - Shares av.db curated category or tags: cli, gui, pdf, productivity.
- [libwpd](https://www.automicvault.com/pkg/brew/libwpd/) - Shares av.db curated category or tags: cli, documents, productivity.
- [prefixsuffix](https://www.automicvault.com/pkg/brew/prefixsuffix/) - Local package facts share a topical domain. Shared terms: cairo, cli, gettext, glib, gui.

## Combined YAML source

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