Libraries
| Library | Used for | Licence |
|---|---|---|
| libheif 1.23.2 and libde265 1.0.15as libheif-js 1.23.2 | Reading HEIC photos | LGPL-3.0, source below |
| eSpeak NG 1.52.0 | Pronunciation for text to speech | GPL-3.0 or later, source below |
| kokoro-js 1.2.1parts ported into webdave’s code | Preparing text for text to speech | Apache-2.0 |
| pdf.js 6.3.289 | Drawing and reading PDF pages | Apache-2.0 |
| pdf-lib 2.11.1 and fontkit 2.0.12the @cantoo forks | Making and changing PDFs | MIT: pdf-lib, fontkit |
| qpdf 12.4.2with zlib and libjpeg-turbo | PDF passwords, repair and compression | Apache-2.0 |
| jSquash JPEG 1.6.0MozJPEG | Compressing pictures in PDFs | Apache-2.0 |
| Tesseract 5as tesseract.js-core 7.0.0 | Reading text in pictures and scans | Apache-2.0 |
| ONNX Runtime Web 1.30.0 | Running the AI models | MIT |
| Mediabunny 1.60.0 | Reading and writing video and audio | MPL-2.0 |
| MapLibre GL JS 6.11.2 | Maps in the IP tools | BSD-3-Clause |
| woff2-encoder 2.0.0Google’s woff2 and Brotli | Reading and writing WOFF2 fonts | MIT |
| Public Suffix Listits two-part endings, with IANA’s list of endings | Real endings in the domain checker | MPL-2.0, source |
AI models
| Model | Used for | Licence |
|---|---|---|
| Real-ESRGAN | Image upscaler | BSD-3-Clause |
| GFPGAN | Faces in the upscaler and restorer | Apache-2.0 |
| YuNet | Finding faces | MIT |
| ISNet | Background remover | Apache-2.0 |
| SlimSAM | Cut out an object | Apache-2.0 |
| MI-GAN | Remove an object, restore old photos | MIT |
| DDColor tiny and large | Colourise old photos | Apache-2.0: tiny, large |
| Scratch detectorBringing Old Photos Back to Life, Microsoft | Restore old photos | MIT |
| Spleeter | AI stem splitter | MIT: 2 stems, 4 stems |
| Whisper base and small | Speech to text | MIT: base, small |
| Kokoro-82M | Text to speech | Apache-2.0 |
| PaddleOCR PP-OCRv5 and PP-DocLayout | Reading text in photos, page layout | Apache-2.0: PP-OCRv5, PP-DocLayout |
| Tesseract language data | Image and PDF to text | Apache-2.0 |
| GLiNER-X smallvocabulary cut to Latin, Greek and Cyrillic | Finding names to redact | Apache-2.0 |
| Qwen2.5 0.5B and SmolLM2 360M | AI chat, summarise and rewrite | Apache-2.0: Qwen2.5, SmolLM2 |
Fonts
| Font | Used for | Licence |
|---|---|---|
| Fraunces and Geist | This site’s text | OFL-1.1: Fraunces, Geist |
| Great Vibes, Sacramento and Kalam | Typed signatures in the PDF tools | OFL-1.1: Great Vibes, Sacramento, Kalam |
Photos
The homepage shows what two tools made of these photos, run on them in the browser like any visitor’s file.
| Photo | Used for | Licence |
|---|---|---|
| Dimitrie and Leontine Tușinschi, Virginia Hoinic and Constantin Tușinschi, Cernăuți, late 1920sa print in the Tușinschi family archive | Restore old photos, before and after | Public domain |
| Horned puffinU.S. Fish and Wildlife Service, Alaska Region | Background remover | Public domain |
Source code
Two parts are under licences that ask for their source code to come with them. You may copy, change and share them under those licences.
| Software | Source | How it was built |
|---|---|---|
| libheif 1.23.2 and libde265 1.0.15 | libheif-1.23.2.tar.gz, libde265-1.0.15.tar.gz | libheif-emscripten and libheif-js build scripts; details |
| eSpeak NG 1.52.0 | espeak-ng-1.52.0.tar.xz | Build script and details |