Skip to content
dialegein

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.

https://qpdf.readthedocs.io/en/stable/

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.

    What this hash proves, and what it does not

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.

Visit qpdf Report a problem

Related reading

How this record was put together

Editorial review.
No editor has signed this record off. That is not the same as nothing having been checked, and the lines below say what has.
Source reading.
1 claim taken from the vendor's own pages, read between 22 September 2026 and 22 September 2026.
Website availability.
The vendor's site was last checked on 16 October 2026.
Behaviour testing.
We ran this ourselves. The file handling was watched directly.

Sources: qpdf.readthedocs.io (overview, license, download, installation, CLI pages). Licence confirmed on the official licence page.