8,746 stars · Apache-2.0, read from /blob/master/LICENSE.txt on 2026-09-28 after both /blob/main/LICENSE and /blob/master/LICENSE returned 404; the standard text, but the copyright line is the unfilled appendix template, "Copyright [yyyy] [name of copyright owner]" · v0.15.0 (2026-08-11), read from /releases/latest and confirmed by ungh to the second; v0.16.0-rc.1 of 2026-09-20 is newer but is a release candidate, which is why /releases/latest correctly serves the stable · Track this in Scout
One downloaded program that validates, merges, splits, shrinks, encrypts, signs, stamps and extracts text and images from PDFs, up to PDF 2.0.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A PDF toolkit, available both as a command-line program and as a Go library. It validates, optimises, encrypts, signs, merges, splits, extracts images and text, adds watermarks and stamps, rearranges pages and fills forms, up to PDF 2.0.
What it is good for. Anyone who handles PDFs regularly and has been uploading them to a website to do it. Contracts, scans, invoices and reports are exactly the documents nobody should be uploading to a free converter. It is also the right answer for doing the same job to two hundred files, because a command in a loop costs nothing and a web form costs an afternoon.
- One static file with no dependencies, installable through Homebrew, MacPorts or Fedora's package manager, or just downloaded. Upgrading means replacing the file.
- Apache-2.0, read from the licence file, with no restriction on commercial or hosted use.
- Nine years old and still shipping. Version 0.15.0 came eight days after 0.14.0 to fix what that release turned up, which is the behaviour of a maintainer who is paying attention.
- Everything is flags on a command line and there is no visual interface. The README is a signpost, so the real instructions live on the project's website, and nobody will be productive from the repository alone.
- It has been on version 0.x for nine years, and the Go library interface is still being reshaped — the current release candidate describes an updated API with a new configuration design. The command line is far more stable than the library.
- No memory or disk figures are published. Whole-file processing in memory is normal for this kind of tool, so very large scanned PDFs are the risk. The project added a progress flag for long batch runs, which suggests big collections take real time.
- qpdf/qpdf
5,346 stars, code on 22 August 2026; structural PDF surgery from a command line, deliberately content-preserving, so it does not stamp text or lay out new content, and it is the engine underneath several other tools.
Track this in Scout - py-pdf/pypdf
10,168 stars, code on 21 August 2026; the same page-level work as a pure Python library, so it is for embedding in Python code and has no command-line tool, and it is slower on large files.
Track this in Scout - Hopding/pdf-lib
8,605 stars, and its last code landed on 17 July 2024, about twenty-six months ago, despite still being the usual recommendation for PDF work in JavaScript.
Track this in Scout
# macOS brew install pdfcpu # Fedora sudo dnf install golang-github-pdfcpu # or with a Go toolchain go install github.com/pdfcpu/pdfcpu/cmd/pdfcpu@latest # then check it pdfcpu version pdfcpu merge merged.pdf in1.pdf in2.pdf




