Third-party licences

This site is built on open-source software. Thank you to everyone who made it. Below is what we use and under which licence.

libheif (HEIC images): LGPL-3.0

When your browser can’t open a HEIC photo itself, we use libheif-js 1.23.5 (libheif and the libde265 HEVC decoder, compiled to WebAssembly). It runs in your browser only, and only when needed.

  • Licence: GNU Lesser General Public License v3.0. Full licence text.
  • We serve it unmodified, as its own replaceable file: /vendor/codecs/libheif.wasm. Its JavaScript loader is bundled, unmodified, in /vendor/img-codec.worker.js.
  • Source code for the exact version we use: libheif-js v1.23.5 on GitHub and the npm package. Upstream projects: libheif and libde265.
  • Written offer: for at least three years from when we last serve this file, we will send a copy of the matching source code to anyone who asks, at no more than the cost of sending it. Contact: UNKNOWN: contact address. (Draft wording, needs legal review.)

PDF.js: Apache-2.0

Pages, thumbnails, search, compare and OCR use PDF.js by Mozilla (pdfjs-dist 6.4.299), licensed under the Apache License 2.0.

Other files we serve

  • Image codecs: jSquash AVIF and WebP encoders, Apache-2.0 (AVIF, WebP).
  • OCR: Tesseract.js and tesseract.js-core, Apache-2.0; English, French and Arabic language data from the tessdata project.
  • Image models (onnxruntime-web, MIT): Real-ESRGAN general x4v3, BSD-3-Clause; U²-Net (u2netp), Apache-2.0; Ultra-Light-Fast-Generic-Face-Detector, MIT.
  • Fonts for PDF output: DejaVu Sans (Bitstream Vera licence, free), Liberation Sans/Serif/Mono (SIL OFL 1.1), Noto Sans CJK (SIL OFL 1.1; our subset is a modified version). Licence texts: DejaVu, Liberation, Noto CJK.
  • Site typeface: Bricolage Grotesque, SIL OFL 1.1.

Server tools (switched off today)

Server tools are switched off today, so this software doesn’t run yet. When they are switched on, it runs on our server, not in your browser: LibreOffice (MPL-2.0), Chromium (BSD-3-Clause and others), qpdf (Apache-2.0), OCRmyPDF (MPL-2.0), Tesseract (Apache-2.0) and Ghostscript (AGPL-3.0). UNKNOWN: licensing of Ghostscript (AGPL) for server use is pending legal review.

All npm packages in the app

From a scan of every package installed with the app. Some (sharp, @napi-rs/canvas) are used only when the site is built, and are never sent to your browser.

PackageVersionLicence
@cantoo/pdf-lib2.11.1MIT
@img/colour1.1.0MIT
@img/sharp-libvips-linux-x641.3.4LGPL-3.0-or-later
@img/sharp-linux-x640.35.5Apache-2.0
@jsquash/avif2.1.1Apache-2.0
@jsquash/webp1.5.0Apache-2.0
@napi-rs/canvas1.1.0MIT
@napi-rs/canvas-linux-x64-gnu1.1.0MIT
@next/env16.4.3MIT
@next/swc-linux-x64-gnu16.4.3MIT
@noble/hashes2.4.0MIT
@pdf-lib/fontkit1.1.1MIT
@pdf-lib/standard-fonts1.0.0MIT
@pdf-lib/upng1.0.1MIT
@peculiar/utils4.1.0MIT
@protobufjs/aspromise1.1.2BSD-3-Clause
@protobufjs/base641.1.2BSD-3-Clause
@protobufjs/codegen2.0.5BSD-3-Clause
@protobufjs/eventemitter1.1.1BSD-3-Clause
@protobufjs/fetch1.1.1BSD-3-Clause
@protobufjs/float1.0.2BSD-3-Clause
@protobufjs/path1.1.2BSD-3-Clause
@protobufjs/pool1.1.0BSD-3-Clause
@protobufjs/utf81.1.2BSD-3-Clause
@swc/helpers0.5.23Apache-2.0
@tesseract.js-data/ara1.0.0MIT
@tesseract.js-data/eng1.0.0MIT
@tesseract.js-data/fra1.0.0MIT
@types/node26.6.6MIT
asn1js4.0.0BSD-3-Clause
baseline-browser-mapping2.11.34Apache-2.0
bidi-js1.1.0MIT
bmp-js0.1.0MIT
bytestreamjs3.0.0BSD-3-Clause
caniuse-lite1.0.30001820CC-BY-4.0
client-only0.0.1MIT
culori4.0.2MIT
detect-libc2.1.2Apache-2.0
fflate0.8.3MIT
flatbuffers25.9.23Apache-2.0
gifenc1.0.3MIT
guid-typescript1.0.9ISC
html-entities2.6.0MIT
idb-keyval6.3.0Apache-2.0
is-url1.2.4MIT
libheif-js1.23.5LGPL-3.0
long5.3.2Apache-2.0
nanoid3.3.20MIT
next16.4.3MIT
node-fetch2.7.0MIT
node-html-better-parser1.5.9MIT
onnxruntime-common1.31.1MIT
onnxruntime-web1.31.1MIT
opencollective-postinstall2.0.3MIT
pako1.0.11(MIT AND Zlib)
pdf-lib1.17.1MIT
pdfjs-dist6.4.299Apache-2.0
picocolors1.1.1ISC
pkijs4.0.1BSD-3-Clause
platform1.3.6MIT
postcss8.5.23MIT
protobufjs7.6.6BSD-3-Clause
react19.3.1MIT
react-dom19.3.1MIT
regenerator-runtime0.13.11MIT
require-from-string2.0.2MIT
scheduler0.28.0MIT
semver7.8.5ISC
sharp0.35.5Apache-2.0
source-map-js1.2.2BSD-3-Clause
styled-jsx5.1.6MIT
tesseract.js7.0.0Apache-2.0
tesseract.js-core7.0.0Apache-2.0
tr460.0.3MIT
tslib1.14.10BSD
tslib2.9.10BSD
undici-types8.9.0MIT
utif24.1.0MIT
wasm-feature-detect1.9.0Apache-2.0
webidl-conversions3.0.1BSD-2-Clause
whatwg-url5.0.0MIT
zlibjs0.3.1MIT

PDF to Word layout engine (our server)

Used only when Preserve layout is on. PyMuPDF is AGPL-3.0.

PackageVersionLicence
pdf2docx0.5.13MIT
PyMuPDF2.1AGPL-3.0 or Artifex commercial (Includes the PyMuPDF Layout and 4LLM code, AGPL since 2.0. AGPL: offering this engine as a public service needs the service source under AGPL or a commercial licence.)
python-docx1.2.0MIT
fontTools4.68.0MIT
opencv-python-headless5.0.0.93Apache-2.0
numpy2.5.4BSD-3-Clause
LibreOffice (optional, page-fit check)anyMPL-2.0