Licences
pdfpix is built out of open-source libraries and sends their code to your browser to do the work. Most use permissive licences. Two of them are copyleft, and each one belongs to a single route: the HEIC decoder is LGPL, and the Print preflight plate renderer is GPL. The list below names each library, what it does here, and where to read its licence or exact source.
| Library | What it does here | Licence | Read it |
|---|---|---|---|
| pdf.js | What it does hereReads and renders PDFs. It is also what checks every result. | LicenceApache-2.0 | Read itFull text |
| @cantoo/pdf-lib | What it does hereWrites PDFs. | LicenceMIT | Read itFull text |
| @jsquash/jpeg | What it does hereRuns the JPEG encoder in the browser. | LicenceApache-2.0 | Read itFull text |
| mozjpeg, libjpeg-turbo | What it does hereThe JPEG encoder itself. | LicenceThree BSD-style licences, IJG included | Read itFull text |
| harfbuzzjs | What it does hereCuts embedded fonts down to the glyphs a document draws. | LicenceMIT | Read itFull text |
| OpenJPEG | What it does hereDecodes JPEG 2000 images inside pdf.js. | LicenceBSD-2-Clause | Read itFull text |
| JBIG2, from PDFium | What it does hereDecodes JBIG2 images inside pdf.js. | LicenceBSD, The PDFium Authors | Read itFull text |
| qcms | What it does hereApplies ICC colour profiles inside pdf.js. | LicenceMIT, Mozilla | Read itFull text |
| UTIF.js | What it does hereDecodes standard and multi-page TIFF files. | LicenceMIT | Read itFull text |
| pako | What it does hereInflates compressed TIFF image data for UTIF.js. | LicenceMIT and Zlib | Read itFull text |
| @discourse/heic | What it does hereLoads the HEIC decoder only on the HEIC to PDF route. | LicenceApache-2.0 | Read itFull text |
| libheif 1.19.7 | What it does hereReads the HEIC container inside the route-scoped WebAssembly decoder. | LicenceLGPL-3.0-or-later | Read itExact source |
| libde265 1.0.15 | What it does hereDecodes the HEVC image inside the route-scoped WebAssembly decoder. | LicenceLGPL-3.0-or-later | Read itExact source |
| Poppler 26.02.0 | What it does hereRenders separation plates for Print preflight. Only that route is given its address, and it runs in a worker of its own. | LicenceGPL-2.0-or-later | Read itFull text |
| OpenJPEG 2.5.3 | What it does hereDecodes JPEG 2000 images inside that same Print preflight worker. | LicenceBSD-2-Clause | Read itFull text |
Licence boundaries
Two well-known PDF engines, MuPDF and Ghostscript, are AGPL v3. Running either one behind a web service obliges the operator to publish the whole service under the same terms. pdfpix uses neither.
The two copyleft components pdfpix does ship stay inside one route each. The HEIC decoder is fetched only after a HEIC or HEIF photo is chosen. The Print preflight plate renderer, which is Poppler and OpenJPEG compiled to WebAssembly, is addressed only from the Print preflight page and runs in a separate worker. No other tool imports or links either one.
Both use the released upstream code with no changes. The Print preflight build can be repeated from published sources: the source record names the exact Poppler and OpenJPEG archives with their SHA-256 sums, the Emscripten image by digest, and the adapter and build script that produced the WebAssembly.
Where to go next
- Every online PDF tool See every PDF tool on the site on one page, grouped by the job. All free, all in your browser, and your file is never uploaded.
- About Know who builds pdfpix and what it refuses to do.
- How it works Understand what runs in the browser tab, what it checks, and what it never sends.
- Privacy Know exactly what leaves the browser and what never does.