qpdf

What qpdf is
qpdf is a free, open-source command-line tool and C++ library for content-preserving PDF transformations. It can linearize files, encrypt them, split and merge documents, create PDFs when you provide the content, and inspect PDF structure. The library includes helpers for reading and rewriting files, including enumerating pages and adding or removing them. qpdf is designed for programmatic or command-line PDF manipulation rather than visual editing. It does not render PDFs, extract text, or offer higher-level interfaces for page contents, and it is not a strict checker for every specification violation. qpdf runs on Linux, Windows, and macOS, with distribution packages and standalone downloads. Official releases include cosign signatures and SHA-256 checksums. It is licensed under Apache License 2.0.
Who it suits
qpdf suits developers and technical users who need command-line or programmatic PDF transformations. It is also relevant to projects linking its C++ library from C++ or other languages.
What it does well
- Free and open-source under Apache License 2.0
- Linearizes, encrypts, splits, and merges PDFs
- C++ library supports reading and rewriting files
- Available on Linux, Windows, and macOS
- Official releases include signatures and checksums
What to know first
- No PDF rendering or text extraction
- No higher-level page-content editing interface
- macOS binaries require removing quarantine
- Not a strict PDF specification checker
Verdict
qpdf is suited to low-level PDF automation across major desktop platforms. Choose it when preserving content and scripting transformations matter more than visual editing or text extraction.
Facts from qpdf's own pages
- Annotation tools
- No · qpdf.sourceforge.io, 21 Sept 2026
- Capabilities
- It supports linearization, encryption, splitting and merging, PDF creation when you supply the content, and PDF inspection. · qpdf.sourceforge.io, 12 Oct 2026
- Distribution security
- Official releases are signed using cosign and include a SHA-256 checksum file that users can verify. · github.com, 12 Oct 2026
- Encryption caveat
- qpdf warns about weak cryptographic algorithms but retains the ability to read and write files using weak encryption for compatibility with older PDFs and readers. · github.com, 12 Oct 2026
- Encryption safeguard
- Since version 11.0, qpdf refuses by default to write files using RC4 encryption unless the user allows weak cryptography. · qpdf.readthedocs.io, 12 Oct 2026
- Integrations
- The project provides a C++ library for reading and rewriting PDF files, with helper classes for operations such as enumerating and adding or removing pages. · qpdf.readthedocs.io, 12 Oct 2026
- Intended users
- The project describes qpdf as a low-level tool for people who want programmatic or command-line-based PDF manipulation. · qpdf.sourceforge.io, 12 Oct 2026
- Language interfaces
- The documentation includes guidance for using the qpdf library from C++ and other languages. · qpdf.readthedocs.io, 12 Oct 2026
- Library use
- The qpdf library can be linked using pkg-config with package name libqpdf or CMake with package name qpdf. · github.com, 12 Oct 2026
- License
- qpdf is licensed under the Apache License, Version 2.0. · qpdf.sourceforge.io, 12 Oct 2026
- Limits
- qpdf does not render PDFs, extract text, or provide higher-level interfaces for working with page contents. · qpdf.sourceforge.io, 12 Oct 2026
- Linux availability
- The project says qpdf is included in virtually all Linux distributions and also offers AppImage downloads and standalone binaries for Linux. · github.com, 12 Oct 2026
- macOS availability
- The project offers standalone binaries for Apple silicon and Intel macOS, and says qpdf is also available through Homebrew and MacPorts. · github.com, 12 Oct 2026
- macOS distribution note
- The project says its macOS binaries are not signed with an Apple Developer ID or notarized, and downloaded files require removal of the quarantine attribute. · github.com, 12 Oct 2026
- macOS security limitation
- The project says its macOS binaries are not signed with an Apple Developer ID or notarized and require removing the quarantine attribute before use. · github.com, 12 Oct 2026
- PDF operations
- It supports linearization, encryption, splitting and merging files, creating PDFs when you supply the content, and inspecting PDFs. · qpdf.sourceforge.io, 12 Oct 2026
- Platforms
- The project documents Windows builds, provides macOS binaries, and says qpdf is included in most Linux distributions. · github.com, 12 Oct 2026
- Purpose
- qpdf is a command-line tool and C++ library for content-preserving transformations of PDF files. · qpdf.sourceforge.io, 12 Oct 2026
- Scope
- qpdf does not render PDFs, extract text, or provide higher-level interfaces for working with page contents. · qpdf.sourceforge.io, 12 Oct 2026
- Support
- The project links to online documentation, release documentation, a wiki, and an announcements mailing list. · qpdf.sourceforge.io, 12 Oct 2026
- Supported platforms
- Linux,Windows,macOS · qpdf.sourceforge.io, 21 Sept 2026
- Text editing
- No · qpdf.sourceforge.io, 21 Sept 2026
- Validation limitation
- The project says qpdf is not a strict PDF checker and may not notice or report some PDF specification violations. · qpdf.readthedocs.io, 12 Oct 2026
- Windows availability
- The project offers Windows binaries and installers, including 64-bit, ARM64, and 32-bit builds. · github.com, 12 Oct 2026
Where qpdf stands on Freedom251
- PDF editors#78 of 102