Qpdf’s licence and source code
Qpdf is licensed under the GNU Affero General Public License, version 3 (AGPL-3.0). You may use, study, share and modify it under the terms of that licence. The complete corresponding source code of the version running on this website, including Qpdf’s modifications, is available at https://github.com/hjavaran/Qpdf.ca.
Qpdf is a modified version of BentoPDF
2.8.11 (commit 1a55d8d44b61f35e1274607582207e4cfabd2bd8), © BentoPDF contributors, licensed
under AGPL-3.0. Qpdf’s changes include a new design and navigation, the tool registry and landing pages,
offline support, self-hosted processing engines, removal of third-party network requests, and the content
system. The full list of changes is in the source repository’s history.
Main components
Versions and licences below are read from the installed packages when the site is built.
| Component | Used for | Version | Licence |
|---|---|---|---|
| bentopdf-pdfium | PDFium-based editing engine from BentoPDF | 0.0.0-3f6b6114b166 | AGPL-3.0 |
| bentopdf-viewer | PDF viewer and annotation editor (EmbedPDF-based) | 2.9.1 | MIT |
| hyper-compress-wasm | Hyper Compress PDF compression engine | 1.0.3 | AGPL-3.0-only |
| @bentopdf/pymupdf-wasm | PyMuPDF / MuPDF on Pyodide (conversions, extraction) | 0.11.16 | AGPL-3.0-only |
| @bentopdf/gs-wasm | Ghostscript (PDF/A, font outlining) | 0.1.1 | AGPL-3.0-only |
| coherentpdf | CoherentPDF (merge with bookmarks, attachments, page labels) | 2.5.5 | AGPL-3.0-or-later |
| @neslinesli93/qpdf-wasm | qpdf library compiled to WebAssembly (encryption, repair) | 0.3.0 | ISC |
| pdfjs-dist | PDF.js rendering | 5.5.207 | Apache-2.0 |
| pdf-lib | PDF creation and modification | 1.17.1 | MIT |
| tesseract.js | Tesseract OCR in the browser | 7.0.0 | Apache-2.0 |
| tesseract.js-core | Tesseract OCR engine (WebAssembly) | 7.0.0 | Apache-2.0 |
| @tesseract.js-data/eng | OCR language data (English; French from the same project) | 1.0.0 | MIT |
| wasm-vips | libvips image processing (TIFF export) | 0.0.17 | MIT |
| @matbee/libreoffice-converter | LibreOffice document conversion (when enabled) | 2.6.0 | MPL-2.0 |
| zgapdfsigner | Digital signatures | 2.8.0 | MIT |
| node-forge | Cryptography for digital signatures | 1.4.3 | (BSD-3-Clause OR GPL-2.0) |
| jspdf | PDF generation | 4.2.1 | MIT |
| jszip | ZIP archives | 3.10.1 | (MIT OR GPL-3.0-or-later) |
| heic2any | HEIC image decoding | 0.0.4 | MIT |
| markdown-it | Markdown rendering | 15.0.3 | MIT |
| dompurify | HTML sanitisation | 3.4.17 | (MPL-2.0 OR Apache-2.0) |
| @phosphor-icons/web | Phosphor icons | 2.1.2 | MIT |
| lucide | Lucide icons | 0.575.0 | ISC |
| @fontsource/dm-sans | DM Sans typeface | 5.2.8 | OFL-1.1 |
| @embedpdf/fonts-latin | Noto fonts used by the editor and OCR | 1.0.0 | OFL-1.1 |
| tailwindcss | Tailwind CSS | 4.2.2 | MIT |
Self-hosted engine packages are published with their licence files alongside them on this site (for
example /wasm/pymupdf/LICENSE). Other open-source packages bundled into Qpdf’s scripts are
listed in the source repository’s package.json and package-lock.json.
AGPL-licensed engines
BentoPDF, Hyper Compress, PyMuPDF/MuPDF, Ghostscript and CoherentPDF are licensed under the AGPL. Qpdf uses them under that licence, which is why Qpdf’s own source code is published under the same licence. Qpdf has not purchased commercial licences for these components.
Pre-built engines and source availability
The Compress PDF engine (Hyper Compress, AGPL-3.0, source) and the editing engine EditCore (AGPL-3.0, source) are shipped as pre-built WebAssembly packages. The exact packages, their licences and where their source is published are listed in SOURCE-NOTICE.md. For the source of any component, contact the developer via wealththeory.ca.
Trademarks and affiliation
Product names mentioned on this site belong to their owners and are used only to describe compatibility. Qpdf is not affiliated with or endorsed by BentoPDF, the qpdf project, Artifex, Adobe, Microsoft, Apple, Cloudflare, or any government.