qpdf
Command-line tool and C++ library for structural PDF transformations.
Where your files are processed
No server involved
Command-line tool and library. It reads and writes local files; there is no service involved. That is a property of the library itself: what an application built with it does with your file depends on that application, not on this.
Inherent to what it is: a locally installed command-line tool and library that operates on local files. There is no account system and no vendor service anywhere in the documentation.
What it does
qpdf is a command-line program and C++ library that performs structural, content-preserving transformations on PDFs: merging and splitting pages, collating, linearising for web viewing, recompressing streams and images to shrink files, and adding or removing password encryption. It also repairs damaged files by rebuilding cross-reference data. It understands the PDF's object structure only — not page content — and can be scripted through a JSON job file or linked against directly.
Best for: Developers and system administrators who want scriptable, dependency-light PDF surgery from a terminal or from their own code.
Worth knowing: It cannot edit page content or convert to other formats, by design, and it has no graphical interface — so it is unsuitable for anyone who is not comfortable at a command line.
Details, and where each comes from
Vendor statements, our own reading of their pages, and the things nobody has established yet, each answered separately. Where we have not confirmed something it says so rather than guessing, and a row nobody has established is greyed out.
- Versions covered
- Windows · macOS · Linux
- Website
- qpdf.readthedocs.io
- Requires an account
- Not applicable
- Watermark on the free tier
- Not verified
- Maximum file size
- Not verified
- Batch processing
- Not verified
- Data residency
- Self-hosted
- Open source
- Yes
- Self-hostable
- Yes
- Licence
- Apache-2.0
- Redaction
- No redaction feature
- Programmatic access
- Embeddable library · Command line
- Last availability check
- Responded in 142 ms 16 October 2026
Checked automatically by our own runner, not reported by the vendor. 100% of our last 30 checks got a response.
What the redaction verdict rests on
From the vendor's own documentation, read 22 September 2026. Not tested by us.
What that does not establish: The vendor’s own site was read on 22 September 2026 and contains no mention of redaction, sanitisation, blackout or whiteout. Absence from a vendor’s own material is not proof that a feature does not exist — it may be undocumented, or on a page the reading did not reach — but for a NEGATIVE claim it is the strongest evidence available, and it is weaker than a positive quote. Recorded as such rather than presented as certainty.
What the vendor says
Claims are labelled rather than repeated as fact. Where we have checked something ourselves, it says so and shows when. Checked means we read the vendor's own page and it says what we recorded — not that we tested the behaviour, unless the note says we did.
-
“qpdf is licensed under the Apache License, Version 2.0 (the "License").”
Checked by us — the source says this Read 22 September 2026
RE-QUOTED 2026-09-22: this claim previously read "qpdf is open source under the Apache License, Version 2.0." — our characterisation rather than the vendor's wording, so a reader could not tell a quotation from a summary. The vendor's own sentence is now in the claim field and what we read from it follows here. The licence page states Apache License 2.0, and the repository LICENSE file is the verbatim Apache 2.0 text. Anyone can repeat this by opening the file.
Standing: Re-read and matched byte for byte
Check it yourself: the source, the SHA-256, and how we checked
- From
- the text a browser renders
- SHA-256
- da661a54940fba6b73365e7a4a38c2bb7326950d536b40ecf665a51bef9ad823
How we checked: Re-verified verbatim on 2026-09-22: https://qpdf.readthedocs.io/en/stable/license.html rendered in headless Chrome with scripts/render-page.mjs, and this sentence found in the rendered text. ALSO RE-QUOTED on the same date: the claim field previously held our own summary of this page rather than the vendor's sentence, which made it impossible to verify by quotation — the schema's own words are "we do not repeat a vendor's claim as though it were our own finding", and the reverse holds too. sourceHash is the SHA-256 of the rendered text, held as p9-qpdf.txt.
Each claim is quoted from the vendor's own pages. This section describes what we have and have not checked — it is not a judgement about anyone.
Sponsorship is distribution, not an endorsement or a promise of search rankings, AI citations, traffic, or sales. This listing is a free entry, compiled from published sources.
Related reading
- Which PDF tools keep your file on your machine — what we count as processing on your own device.
- Open source PDF tools, and what their licences require — what open source does and does not tell you.