# Install xpdf with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman

PDF viewer. Version 4.06 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:xpdf
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install xpdf
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install xpdf
```

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

### Linux

- apk (92%):

```sh
sudo apk add xpdf
```

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

- Debian apt (92%):

```sh
sudo apt install xpdf
```

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

- dnf (92%):

```sh
sudo dnf install xpdf
```

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

  Evidence: nixpkgs package indexes: xpdf from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S xpdf
```

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

## Package facts

- **Package key:** brew:xpdf
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/xpdf>
- **Version:** 4.06
- **Source summary:** PDF viewer
- **Homepage:** <https://www.xpdfreader.com/>
- **Upstream docs:** <https://www.xpdfreader.com/>
- **License:** GPL-2.0-only OR GPL-3.0-only
- **Source archive:** <https://dl.xpdfreader.com/xpdf-4.06.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- pdftopng (cli)
- xpdf (cli)
- pdftopng (alias)
- xpdf (alias)

## Dependencies

- fontconfig
- freetype
- libpng
- qtbase
- qtsvg

## Build dependencies

- cmake

## Uses from macOS

- cups

## 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: 4.06
- Local data: ok
- Upstream repository: https://www.xpdfreader.com/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Xpdf is a long-running PDF viewer and command-line toolkit from Glyph & Cog, developed by Derek Noonburg. The official site describes it as a PDF viewer plus tools for text extraction, PostScript conversion, image conversion, HTML conversion, metadata extraction, font listing, attachment extraction, and raw image extraction.

Its package-nerd importance comes from being both an end-user viewer and one of the ancestral codebases for Unix PDF tooling, including the Poppler fork that many modern desktop applications and distributions use.

### Project history

The official Xpdf about page says Xpdf was first released in 1995, written by Derek Noonburg, and still developed by him. Early Xpdf was closely associated with Unix and the X Window System; modern Xpdf uses Qt and ships cross-platform tools for Linux, Windows, and Mac.

Xpdf's code became a base for a broader ecosystem. Poppler's README states that Poppler is a fork of the Xpdf PDF viewer developed by Derek Noonburg of Glyph & Cog, created to provide shared PDF rendering functionality and centralize maintenance effort for applications that had embedded Xpdf-derived code.

The project later separated branding between the open source xpdf package and XpdfReader. The official site describes XpdfReader as a closed-source viewer build with extra features, while the xpdf package remains the open source viewer and tool collection.

### Adoption history

Xpdf became a fixture on Unix-like systems because it was small, scriptable, and useful before PDF support was built into every desktop environment. The command-line tools made it valuable even for users who never launched the GUI viewer: pdftotext, pdfinfo, pdffonts, pdfimages, pdftops, pdftoppm, and pdftopng fit naturally into shell pipelines.

Poppler's creation shows the scale of downstream adoption. Its README says many applications incorporated the Xpdf code base and that duplicated security and maintenance work motivated a shared library fork using modern Unix desktop components such as fontconfig and cairo.

Today Xpdf remains relevant as a compact upstream toolkit and as a historical root of PDF handling in free desktops. Some distributions package Xpdf-derived viewers differently from Poppler utilities, but the conceptual split between viewer, rendering engine, and CLI PDF tools is part of Xpdf's legacy.

### How it is used

Typical package usage is split between viewing and conversion. Users launch xpdf to read a document, or use command-line tools to extract text, inspect metadata and fonts, convert pages to images, convert PDFs to PostScript or HTML, and extract embedded images or attachments.

The configuration file xpdfrc controls viewer and tool behavior, including font paths, language support, and related settings. That makes Xpdf useful in both interactive desktop setups and controlled batch environments where predictable PDF extraction matters.

Because PDFs are untrusted document inputs, Xpdf and its descendants also matter to security maintenance. Poppler explicitly calls out PDF rendering as sensitive to security bugs, and the shared-library fork was partly a response to the maintenance burden of many applications carrying Xpdf-derived code.

### Why package nerds care

Xpdf is one of the classic examples of a small Unix GUI application whose command-line utilities became just as important as the viewer. Packaging it gives users a PDF reader, but it also gives scripts a set of focused PDF inspection and conversion commands.

Its relationship with Poppler is historically important for package maintainers: one upstream codebase became both a standalone viewer/toolkit and the origin point for a shared rendering library used by many other applications. That fork explains why similar PDF tools and libraries often appear side by side in package collections.

Xpdf also sits at the intersection of old X11 desktop software and modern cross-platform Qt software, making it a useful marker of how long-lived Unix tools survive by keeping a stable command-line surface while changing GUI/toolkit internals.

### Timeline

- 1995: Xpdf is first released, according to the official Xpdf about page.
- 2000s: Xpdf code is widely reused by PDF viewers and tools, creating maintenance pressure around duplicated embedded code.
- 2005: Poppler is created as a fork of Xpdf to provide shared PDF rendering functionality and modern desktop integration.
- 2010s: Xpdf 4.x moves the viewer line to a Qt-based, cross-platform presentation under the XpdfReader site.
- 2025-11-14: The official download page lists Xpdf 4.06 as the current release.

### Related projects

- Poppler is the major Xpdf-derived PDF rendering library used by many free-desktop applications.
- Evince and Okular are adjacent desktop PDF viewers commonly associated with Poppler-based stacks.
- BePDF, !PDF, SWFTools, PDFKit, and other projects are listed by Xpdf as open source projects based on Xpdf.
- MuPDF and PDF.js are related PDF engines with different implementation and packaging tradeoffs.

### Sources

- <https://gitlab.freedesktop.org/poppler/poppler/-/raw/master/README.md>
- <https://www.xpdfreader.com/>
- <https://www.xpdfreader.com/about.html>
- <https://www.xpdfreader.com/download.html>
- <https://www.xpdfreader.com/opensource.html>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ~/.xpdfrc, /etc/xpdfrc
- Windows: xpdfrc in the same directory as the executable
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** xpdf
- **Version Scheme:** 0
- **Revision:** 0
- **Conflicts With:** pdf2image, pdftohtml, poppler
- **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 - xpdf - 3.04+git20250304-1+b1: normalized package name match | Debian stable package indexes: xpdf from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Motif-based PDF reader using the Poppler library | https://offog.org/code/xpopple/
- Nix - xpdf: normalized package name match | nixpkgs package indexes: xpdf from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - xpdf - 3.04+git20240202-1build3: normalized package name match | Ubuntu 24.04 LTS package indexes: xpdf from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Motif-based PDF reader using the Poppler library | https://offog.org/code/xpopple/
- apk - xpdf - 4.06-r0: normalized package name match | Alpine Linux edge package indexes: xpdf from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | The classic X11 PDF viewer | https://www.xpdfreader.com/
- apk - xpdf-doc - 4.06-r0: normalized package name match | Alpine Linux edge package indexes: xpdf-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | The classic X11 PDF viewer (documentation) | https://www.xpdfreader.com/
- dnf - xpdf - 4.06-2.fc44: normalized package name match | Fedora Rawhide package metadata: xpdf from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A PDF file viewer for the X Window System | https://www.xpdfreader.com/
- dnf - xpdf-devel - 4.06-2.fc44: normalized package name match | Fedora Rawhide package metadata: xpdf-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for xpdf libraries | https://www.xpdfreader.com/
- dnf - xpdf-libs - 4.06-2.fc44: normalized package name match | Fedora Rawhide package metadata: xpdf-libs from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Libraries from xpdf | https://www.xpdfreader.com/
- pacman - xpdf - 4.06-2: normalized package name match | Arch Linux sync databases: xpdf from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Viewer for Portable Document Format (PDF) files | https://www.xpdfreader.com/
- MacPorts - xpdf: normalized package name match | MacPorts ports tree: graphics/xpdf/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [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.
- [fontconfig](https://www.automicvault.com/pkg/brew/fontconfig/) - Runtime dependency declared by Homebrew.
- [freetype](https://www.automicvault.com/pkg/brew/freetype/) - Runtime dependency declared by Homebrew.
- [libpng](https://www.automicvault.com/pkg/brew/libpng/) - Runtime dependency declared by Homebrew.
- [qtbase](https://www.automicvault.com/pkg/brew/qtbase/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [briss](https://www.automicvault.com/pkg/brew/briss/) - Shares av.db curated category or tags: cli, pdf, productivity.
- [cpdf](https://www.automicvault.com/pkg/brew/cpdf/) - Shares av.db curated category or tags: cli, pdf, productivity.
- [diff-pdf](https://www.automicvault.com/pkg/brew/diff-pdf/) - Shares av.db curated category or tags: cli, pdf, productivity.
- [pdfpc](https://www.automicvault.com/pkg/brew/pdfpc/) - Shares av.db curated category or tags: cli, pdf, productivity.
- [treemd](https://www.automicvault.com/pkg/brew/treemd/) - Shares av.db curated category or tags: cli, productivity, viewer.
- [doxx](https://www.automicvault.com/pkg/brew/doxx/) - Shares av.db curated category or tags: cli, productivity, viewer.
- [bookokrat](https://www.automicvault.com/pkg/brew/bookokrat/) - Shares av.db curated category or tags: cli, pdf, productivity.
- [evince](https://www.automicvault.com/pkg/brew/evince/) - Shares av.db curated category or tags: cli, pdf, productivity.
- [sile](https://www.automicvault.com/pkg/brew/sile/) - Both packages work with overlapping file formats or content types. Shared terms: cli, fontconfig, freetype, libpng, pdf.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- 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
