Licenses
Last updated: 28 October 2026
Open-source components
The engines behind the tools are built on open-source libraries, used under permissive licenses and listed below with their sources. Our own code (the processing pipelines, the interface and the site) is not open source unless stated otherwise.
libheif (HEIC decoding) is licensed under the LGPL-3.0. It is loaded as a separate file and is not combined with our code; its source and license are available at the linked repository.
| Component | License |
|---|---|
| Next.js | MIT |
| React | MIT |
| next-intl | MIT |
| Tailwind CSS | MIT |
| Lucide | ISC |
| Zod | MIT |
| Comlink | Apache-2.0 |
| pdf-lib | MIT |
| PDF.js | Apache-2.0 |
| OpenJPEG (JPEG 2000 decoder, via PDF.js)loaded as a separate file, only for PDFs that contain JPEG 2000 images | BSD-2-Clause |
| PDFium JBIG2 decoder (via PDF.js)loaded as a separate file, only for scanned PDFs with JBIG2 images | BSD-3-Clause |
| qcms (colour management, via PDF.js)loaded as a separate file, only for PDFs with ICC colour profiles | MIT |
| Liberation Sans 1.07.4 (PDF.js standard fonts)four TrueType files PDF.js reads as data for Helvetica/Arial when a PDF does not embed its fonts; served from this site as separate files (LICENSE_LIBERATION next to them), never part of our JavaScript or WebAssembly | GPL-2.0 with the font-embedding exception (Red Hat) |
| Foxit standard fonts (PDF.js standard fonts)the CFF (Type1C) font files for Courier, Times, Symbol and ZapfDingbats, read as data by PDF.js only when a PDF does not embed its fonts; served from this site as separate files (LICENSE_FOXIT next to them), never part of our JavaScript or WebAssembly | BSD-3-Clause (the PDFium licence) |
| Adobe Glyph List (via PDF.js tables)the glyph-name → Unicode table and the standard PDF encodings, taken from PDF.js's tables (Apache-2.0, Mozilla Foundation) into our PDF content-stream parser so a PDF's text can be read without its fonts | BSD-3-Clause |
| jSquash (MozJPEG, libwebp, libavif, OxiPNG, libjxl codecs from Squoosh) | Apache-2.0 |
| UTIF.js (TIFF decoder)loaded only when a TIFF is opened | MIT |
| fontkit (via @pdf-lib/fontkit)loaded only for watermark or page-number text beyond Latin-1 (a Unicode font) | MIT |
| DejaVu fontsthe editor's substitute font: text edits whose letters the original font lacks, new text and form-field appearances (embedded as a subset in the saved file, named in /DR), and watermark or page-number text beyond Latin-1; fetched from this site only | Bitstream Vera licence (free) |
| Dancing Script and Caveat (via Fontsource)script faces for a typed signature, fetched from this site only when you type one | SIL OFL 1.1 |
| Homemade Apple (via Fontsource)script face for a typed signature, fetched from this site only when you type one | Apache-2.0 |
| pica | MIT |
| fflate | MIT |
| zxing-wasm (ZXing C++)loaded as a separate file, only on the QR reader | MIT / Apache-2.0 |
| diff (jsdiff) | BSD-3-Clause |
| tesseract.js + Tesseract OCR (WebAssembly)loaded as separate files, only when you run OCR | Apache-2.0 |
| tessdata (Tesseract language models)15 models, one per language: English, Romanian, Spanish, Portuguese, French, German, Italian, Dutch, Polish, Hungarian, Turkish, Czech, Russian, Ukrainian, Greek; each is fetched from this site on first use | Apache-2.0 |
| wasm-feature-detect | Apache-2.0 |
| Mediabunnyvideo and audio tools; the codecs are the browser's own (WebCodecs) | MPL-2.0 |
| LAME MP3 encoder 3.100 (via @mediabunny/mp3-encoder)loaded as a separate file, only when MP3 output is chosen; source and licence at the link and in /engines/mp3-d53556306d/NOTICE next to the binary | LGPL (LAME) / MPL-2.0 (bridge) |
| gifenc | MIT |
| gifuct-jsreads animated GIFs where the browser has no ImageDecoder | MIT |
| web-vitalspage speed measurements (no file data) | Apache-2.0 |
| qpdf (via qpdf-wasm)loaded as a separate file when a PDF is protected, or when one needs its password removed | Apache-2.0 |
| qr-code-styling | MIT |
| qrcode-generator (Kazuhiko Arase)the QR encoder behind the styled codes and the first-paint preview | MIT |
| zxcvbn-ts | MIT |
| EFF long wordlist (via eff-diceware-passphrase)the 7 776 words behind passphrases, loaded only when that mode is chosen | CC BY 3.0 (wordlist) / ISC (package) |
| libheif-js (libheif)loaded as separate files (libheif.wasm and its loader), only when a HEIC/HEIF picture needs decoding outside Safari; source and licence at the link | LGPL-3.0 |
| libarchive 3.7.2 (via libarchive.js)loaded as separate files, only when an archive other than a plain ZIP is opened (7z, RAR, TAR, ISO…); bundles zlib (zlib licence), bzip2 (BSD-style), liblzma (public domain) and OpenSSL 1.0.2 (OpenSSL/SSLeay licence); all texts in /engines/libarchive-ee41cb203c/NOTICE and next to it | BSD-2-Clause (libarchive) / MIT (libarchive.js) |
| opentype.js (with tiny-inflate)font converter: reads layout tables and rewrites CFF fonts when subsetting | MIT |
| woff2 and Brotli (Google, via wawoff2)loaded as separate files, only when a font is converted to or from WOFF2; see /engines/woff2-441e3b9578/NOTICE | MIT |