# Install unpaper with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Post-processing for scanned/photocopied books. Version 7.0.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:unpaper
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install unpaper
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install unpaper
```

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

### Linux

- apk (92%):

```sh
sudo apk add unpaper
```

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

- Debian apt (92%):

```sh
sudo apt install unpaper
```

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

- dnf (92%):

```sh
sudo dnf install unpaper
```

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

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

- pacman (92%):

```sh
sudo pacman -S unpaper
```

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

- zypper (92%):

```sh
sudo zypper install unpaper
```

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

## Package facts

- **Package key:** brew:unpaper
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/unpaper>
- **Version:** 7.0.0
- **Source summary:** Post-processing for scanned/photocopied books
- **Homepage:** <https://www.flameeyes.com/projects/unpaper>
- **Repository:** <https://github.com/unpaper/unpaper>
- **Upstream docs:** <https://github.com/unpaper/unpaper#readme>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://www.flameeyes.com/files/unpaper-7.0.0.tar.xz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- unpaper (cli)
- unpaper (alias)

## Dependencies

- ffmpeg

## Build dependencies

- meson
- ninja
- pkgconf
- sphinx-doc

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 7.0.0
- Local data: ok
- Upstream repository: https://www.flameeyes.com/projects/unpaper
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

unpaper is a command-line post-processing tool for scanned paper, especially scanned or photocopied book pages. Its README describes the goal as making scanned book pages easier to read on screen after PDF conversion and improving page images before OCR.

### Project history

The upstream README says unpaper was originally written by Jens Gulden, and the AUTHORS file lists Gulden as original author and maintainer from 2005-2009. The NEWS file records the first release, 1.0, on 2005-03-01.

Early releases focused on the core scanned-book workflow: joining or splitting pages, handling double-page layouts, deskewing, stretching, zooming, border alignment, black filtering, and multi-file batch processing. The 2005-2007 NEWS entries also show portability work for Mac OS X and SPARC Solaris, color support through PPM, documentation diagrams, binary/source distribution archives, and conventional tarball packaging.

Maintenance later moved from a personal scanned-page tool into a modern hosted open source project. NEWS records an Autotools build system in 2011, source reorganization and parser cleanup in 2012, mathematically accurate interpolation in 2013, libav-based file input/output in 2014, ffmpeg compatibility updates, and a 2022 Meson migration in release 7.0.0.

### Adoption history

The supplied package metadata shows unpaper available across a broad set of Unix-like package managers: Alpine/apk, Homebrew, Debian, Fedora/dnf, MacPorts, Nix, Arch/pacman, Ubuntu, and openSUSE/zypper. That matches its niche as a small C utility used inside scanning, OCR, and PDF-preparation pipelines.

The project's dependency history also tracks adoption pressure. The README now says ffmpeg is the only hard dependency for file input and output; NEWS shows earlier transitions through Netpbm-style PNM workflows, libav, ffmpeg compatibility, and build-system modernization.

### How it is used

unpaper is usually run in batch mode over numbered image sequences. The basic concepts documentation explains sheets, pages, single-page and double-page layouts, wildcard filename sequences such as `input%03d.pbm`, and options for joining single-page scans into double-page sheets or splitting double-page scans back into individual page images.

The README describes the processing features that define its everyday use: removing dark borders from scans and photocopies, detecting misaligned centering and rotation, deskewing pages, and allowing each processing step to be disabled or tuned when automatic processing fails.

### Why package nerds care

unpaper is significant in package-manager culture because it is one of those small, sharp Unix tools that exists to make a larger workflow possible. It sits between scanner output, image conversion tools, OCR engines, and PDF builders, so distributions care about stable command-line behavior, supported image formats, and dependency choices more than about a GUI.

It is also a good example of a long-lived niche media utility being kept buildable as the C ecosystem changes: custom code gave way to libav/ffmpeg for formats, Autotools gave way to Meson, tests were adapted for floating-point differences, and maintainers kept portability and package builds alive.

### Timeline

- 2005: 1.0 initial release.
- 2005: 1.1 adds page joining/splitting, multi-file sequences, deskew speedups, Mac OS X notes, and SPARC Solaris testing.
- 2006: 0.2 adds documentation diagrams and color PPM support.
- 2007: 0.3 moves history to a changelog and adopts conventional tarball layout.
- 2011: 0.4 introduces an Autotools build system and a documented man page.
- 2014: 6 switches file input/output to libav and broadens supported image formats.
- 2022: 7.0.0 migrates the build to Meson and expands ffmpeg 5 compatibility.

### Related projects

- unpaper is commonly adjacent to SANE scanner tools, ffmpeg/libav for image decoding and encoding, Netpbm/PNM tooling, ImageMagick conversion, OCR engines, and PDF generation tools.

### Sources

- <https://github.com/unpaper/unpaper/blob/main/AUTHORS>
- <https://github.com/unpaper/unpaper/blob/main/NEWS>
- <https://github.com/unpaper/unpaper/blob/main/README.md>
- <https://github.com/unpaper/unpaper/blob/main/doc/basic-concepts.md>
- source_facts.package-manager


## 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:** unpaper
- **Version Scheme:** 0
- **Revision:** 3
- **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 - unpaper - 7.0.0-3+b2: normalized package name match | Debian stable package indexes: unpaper from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | post-processing tool for scanned pages | https://www.flameeyes.eu/projects/unpaper
- Nix - unpaper: normalized package name match | nixpkgs package indexes: pkgs/by-name/un/unpaper/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - unpaper - 7.0.0-3build1: normalized package name match | Ubuntu 24.04 LTS package indexes: unpaper from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | post-processing tool for scanned pages | https://www.flameeyes.eu/projects/unpaper
- apk - unpaper - 7.0.0-r3: normalized package name match | Alpine Linux edge package indexes: unpaper from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Post-processing tool for scanned sheets of paper | https://github.com/unpaper/unpaper
- apk - unpaper-doc - 7.0.0-r3: normalized package name match | Alpine Linux edge package indexes: unpaper-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Post-processing tool for scanned sheets of paper (documentation) | https://github.com/unpaper/unpaper
- dnf - unpaper - 7.0.0-16.fc44: normalized package name match | Fedora Rawhide package metadata: unpaper from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Post-processing of scanned and photocopied book pages | https://www.flameeyes.eu/projects/unpaper
- dnf - unpaper-tests - 7.0.0-16.fc44: normalized package name match | Fedora Rawhide package metadata: unpaper-tests from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Tests for unpaper | https://www.flameeyes.eu/projects/unpaper
- pacman - unpaper - 7.0.0-5: normalized package name match | Arch Linux sync databases: unpaper from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | post-processing tool for scanned sheets of paper | https://github.com/unpaper/unpaper
- zypper - unpaper - 7.0.0-1.23: normalized package name match | openSUSE Tumbleweed package metadata: unpaper from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Post-Processing Tool for Scanned Text Pages | https://www.flameeyes.eu/projects/unpaper
- MacPorts - unpaper: normalized package name match | MacPorts ports tree: graphics/unpaper/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.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Media and graphics packages](https://www.automicvault.com/pkg/media-graphics-tools/) - Matched media, image, audio, video, or graphics metadata.
- [ffmpeg](https://www.automicvault.com/pkg/brew/ffmpeg/) - Runtime dependency declared by Homebrew.
- [meson](https://www.automicvault.com/pkg/brew/meson/) - Build dependency declared by Homebrew.
- [ninja](https://www.automicvault.com/pkg/brew/ninja/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [sphinx-doc](https://www.automicvault.com/pkg/brew/sphinx-doc/) - Build dependency declared by Homebrew.
- [ocrmypdf](https://www.automicvault.com/pkg/brew/ocrmypdf/) - Popular package that depends on this formula.
- [pdfsandwich](https://www.automicvault.com/pkg/brew/pdfsandwich/) - Popular package that depends on this formula.
- [ghostscript](https://www.automicvault.com/pkg/brew/ghostscript/) - Shares av.db curated category or tags: cli, document-processing, media.
- [psutils](https://www.automicvault.com/pkg/brew/psutils/) - Shares av.db curated category or tags: cli, document-processing, media.
- [babl](https://www.automicvault.com/pkg/brew/babl/) - Shares av.db curated category or tags: cli, image-processing, media.
- [caire](https://www.automicvault.com/pkg/brew/caire/) - Shares av.db curated category or tags: cli, image-processing, media.
- [camellia](https://www.automicvault.com/pkg/brew/camellia/) - Shares av.db curated category or tags: cli, image-processing, media.
- [ctl](https://www.automicvault.com/pkg/brew/ctl/) - Shares av.db curated category or tags: cli, image-processing, media.
- [epeg](https://www.automicvault.com/pkg/brew/epeg/) - Shares av.db curated category or tags: cli, image-processing, media.
- [epsilon](https://www.automicvault.com/pkg/brew/epsilon/) - Shares av.db curated category or tags: cli, image-processing, media.
- [glyph](https://www.automicvault.com/pkg/brew/glyph/) - Both packages work with overlapping file formats or content types. Shared terms: cli, ffmpeg, image, image-processing, media.
- [libsail](https://www.automicvault.com/pkg/brew/libsail/) - Both packages work with overlapping file formats or content types. Shared terms: cli, ffmpeg, image, image-processing, media.
- [openimageio](https://www.automicvault.com/pkg/brew/openimageio/) - Both packages work with overlapping file formats or content types. Shared terms: cli, ffmpeg, image, image-processing, media.

## Combined YAML source

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