Open source licences
The 160 projects this site is built on, and the terms they are used under
Nearly every tool here runs in your browser, and most of them lean on someone else's open source work to do it. This page lists all of it: what is used, where, and under which licence. Several of these licences ask for attribution, so consider this page part of keeping to them.
Versions are the ones the site pins. Anything not built into the site is fetched only when you open the tool that needs it.
Built into the site
Bundled at build time and served from johnmcm.com.
Public-domain equivalent; no attribution required, listed for completeness.
Loaded when you open a tool
Fetched the first time you open the tool that needs it, then cached by your browser: most served from this site itself, the rest from a public CDN with a pinned hash your browser checks before running it. None of them send your files anywhere — they run in the page alongside your data.
Loaded as the WebAssembly build @neslinesli93/qpdf-wasm 0.3.0 (ISC), which also contains zlib (zlib licence) and libjpeg-turbo 2.1 (IJG and BSD-3-Clause licences). This software is based in part on the work of the Independent JPEG Group.
Includes the KaTeX fonts (MIT).
A maintained fork of nerdamer by Martin Donk; its function compiler (buildFunction) is never used, as it turns strings into code.
Dual licensed; used here under Apache-2.0.
Loaded as the WebAssembly build libarchive.js 2.0 (MIT), which also contains zlib 1.3 (zlib licence), bzip2 (bzip2 licence), liblzma from XZ Utils 5.2 (public domain) and OpenSSL 1.0.2 (OpenSSL and SSLeay licences). This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/), and cryptographic software written by Eric Young (eay@cryptsoft.com).
By Igor Pavlov; some files are under the BSD licence. The 7zz command-line program, compiled to WebAssembly by this site, single-threaded, without the RAR code, and with one small patch that lets the page choose which partition of a disk image to open (so nothing under the unRAR restriction is in it), and run as a separate program in its own worker. The source built and the build files are published. Read the source.
The DjVu reader and DjVu-to-PDF writer by Mikhail Matyushkin, written from the public DjVu specification. Compiled to WebAssembly by this site with a small crate of its own that adds PDF export and bookmarks to the browser build, and one patch that writes the PDF text layer in Unicode, using a glyphless font made for this site, and makes links between pages work. The build files and patch are published. Read the source.
Bundles proj4 (MIT), parsedbf (MIT) and but-unzip (Apache-2.0).
Dual licensed; used here under MIT.
Contains xz-embedded by Lasse Collin and Igor Pavlov (public domain) and walloc (MIT), compiled to WebAssembly.
Built by this site with small fixes: unreadable parts are skipped, bullets and body styles are inherited from the master, and paragraph spacing is corrected. The build script is published. Read the source.
Evan Miller’s reader for SPSS, SAS and Stata files, with zlib, compiled to WebAssembly by this site, unmodified; the build files and the ReadStat and zlib licence notices are published under /source/readstat/. Read the source.
Google’s WOFF2 library, with brotli 1.2.0 (MIT), compiled to WebAssembly by this site, unmodified; the build files and the woff2 and brotli licence notices are published under /source/woff2/. Read the source.
Hendrik Schröter’s speech-enhancement network and its Rust runtime (libDF, with the tract ONNX engine, MIT OR Apache-2.0), compiled to WebAssembly by this site with its browser bindings rewritten. The DeepFilterNet3 model weights come from the same repository, which the author ships compiled into his MIT/Apache library; the repository states no separate licence for them. Served from this site; the build files are published. Read the source.
The OpenMPT project’s module player library, compiled to WebAssembly in one ES module by chiptune3 and served from this site unmodified.
Its loaders for GLTF, FBX, OBJ and MTL, STL, PLY, 3MF, Collada, 3DS, VRML and AMF, and its GLTF, STL, OBJ and USDZ exporters, as jsDelivr builds them; these bundle fflate (MIT) for FBX, 3MF and USDZ, and Chevrotain (Apache-2.0) for VRML. Compressed GLTF uses the Draco decoder (Apache-2.0) and meshoptimizer’s decoder (MIT) that three.js ships.
The WebAssembly transcoder is used unmodified; its JavaScript loader is patched here so it never evaluates strings as code (four embind functions rewritten as plain closures), and the patch script is published. Read the source.
MPL-2.0 is file-level copyleft: it is used unmodified, which imposes nothing on this site.
Loads safer-buffer 2.1 (MIT).
Bundled with the site rather than fetched, since SheetJS publishes current versions only from its own server.
With three fixes from the OpenImprenta libmspub-wasm build. Compiled to WebAssembly by this site together with librevenge and libcdr; the build files and fixes are published. Read the source.
By visioncortex (dual MIT OR Apache-2.0; used under MIT). Its WebAssembly core is compiled by this site, unmodified, and served from this site; the build files are published. Read the source.
Compiled to WebAssembly by this site into the same module as libmspub and libcdr; the build files are published, and the source is the release tarball they name. Read the source.
Compiled into the same WebAssembly module, for libvisio to read .vsdx and .vdx files.
Compiled to WebAssembly by this site with librevenge, unmodified; the build files, the event recorder the page reads, and the libwps, librevenge, zlib and Boost licence notices are published under /source/wps/. Read the source.
Compiled to WebAssembly by this site with librevenge, unmodified; the build files, the event recorder the page reads, and the libwpd, librevenge and Boost licence notices are published under /source/wpd/. Read the source.
FootageRescue’s WebAssembly build (with FFmpeg 3.3.9, LGPL-2.1-or-later parts only), run as a separate program in its own worker; the page only exchanges messages with it. Its complete source, the FFmpeg release and the one change made here (two extra methods in the worker) are published. Read the source.
chmdec says MIT, but it is ported from CHMLib (LGPL-2.1), so it is treated as LGPL-2.1 here. Compiled to WebAssembly by this site, unmodified; the source built and the build files are published, and the module is a separate file that can be replaced. Read the source.
The WinHelp decompiler by Manfred Winterhoff, Ben Collver and Paul Wise (its files say GPL version 2 or later; its LICENSE is GPL 3). Compiled to WebAssembly by this site, unmodified, and run as a separate program in its own worker; the page only exchanges files with it. The source built and the build files are published. Read the source.
A small build made by this site (no GPL parts): the readers, decoders and encoders the DAV to MP4, DSS to MP3, CUE Splitter, Video Converter and Video Cutter pages need, compiled to WebAssembly unmodified and run in its own worker as a separate file that can be rebuilt and replaced; the release tarball and the build files are published. Read the source.
The same FFmpeg release built with only its AAC decoder, unmodified, plus this site’s small glue that asks it how many bytes each frame takes; compiled to WebAssembly as its own file. The glue and build files are published; the FFmpeg tarball is the one published with the FFmpeg build. Read the source.
Built into the same FFmpeg, unmodified; the release tarball is published with it. Read the source.
Served from this site and loaded only when a workbook has a password; also bundled into this site’s build of mdb-reader.
Loads fflate (MIT), fast-png (MIT) and @babel/runtime (MIT). Its optional html2canvas, canvg and DOMPurify add-ons are served too but never loaded here.
Loads svgpath, cssesc, specificity and font-family-papandreou (all MIT).
Its browser build, which bundles JSZip (MIT or GPL-3.0, used here under MIT), saxes (ISC), dayjs and core-js (both MIT) and other MIT-licensed helpers.
Its Microsoft Project 98-2024 (MPP8, MPP9, MPP12 and MPP14) readers and calendar readers ported to TypeScript by this site, with Project XML and MPX readers, as a separate module (mpxj-ts) that the page loads as its own file and that can be rebuilt and replaced; the port’s complete source and build script are published. Read the source.
Compiled to WebAssembly by this site, unmodified, with one2html and the Rust crates listed in its Cargo.lock (MIT or Apache-2.0); the build files are published. Read the source.
Its reading of the Procreate format (the canvas description, LZO and LZ4 tiles, and how layers blend) was ported to TypeScript by this site.
The same WebAssembly module also contains zlib 1.3 (zlib licence) and Boost headers 1.83 (BSL-1.0), from the Emscripten ports.
A WebAssembly build of GNU LibreDWG. Because it is GPL, the DWG and DXF viewer that runs with it is published under GPL-3.0 as well. Read the source.
Loads fzstd 0.1 (MIT) for Zstandard and hysnappy 1.1 (MIT) for Snappy.
File-level copyleft: it is used unmodified, as its own file served from this site, which the licence allows alongside code under any licence.
Contains a WebAssembly build of the LAME MP3 encoder (lame.sourceforge.io), which is LGPL-licensed, served unmodified from this site as a separate file. Its source and build for this version are linked here.
Developed by the National Institute of Standards and Technology (NIST), the source of this software, and provided as a public service; used unmodified. Its notice: https://github.com/usnistgov/h5wasm/blob/main/LICENSE.txt
Copyright The HDF Group; compiled into h5wasm with zlib (zlib licence) and SZIP through libaec (BSD-2-Clause).
Compression filters for h5wasm, built from The HDF Group’s hdf5_plugins with: c-blosc 1.21.6 and c-blosc2 2.17.1 (BSD-3-Clause), bitshuffle 0.5.2 (MIT), LZ4 1.10.0 (BSD-2-Clause), liblzf 3.6 (BSD-2-Clause), Zstandard (BSD-3-Clause), bzip2 1.0.8 (bzip2 licence), ZFP 1.0.1 (BSD-3-Clause), BitGroom and BitRound (BSD-3-Clause, Charlie Zender / UCAR), zlib 1.3.1 (zlib licence) and libjpeg 9e (IJG licence: this software is based in part on the work of the Independent JPEG Group). Each is downloaded only when a file needs it.
By Georg Martius and contributors; relicensed from the GPL after v1.1.2 (RELICENSE.md). Compiled to WebAssembly on its own, unmodified; the build files are at /source/vidstab/.
By Shiqi Yu and colleagues, from OpenCV Zoo; only its declared input size was made flexible.
By Google; licence as stated on its model card. Served from this site unmodified.
The Flash Player emulator, in WebAssembly, served from this site unmodified.
Built by this site into one file (the build script is published) with its AES and hashing done by @noble/ciphers 2.4 and @noble/hashes 2.4 (both MIT) in place of browserify-aes and create-hash, so encrypted .accdb files open in a browser; mdb-reader’s own code is unchanged. Bundles pako 2.1 (MIT and Zlib), fast-xml-parser 5.11 with fast-xml-builder 1.3, strnum 2.4, anynum 1.0, xml-naming 0.3, is-unsafe 2.0, path-expression-matcher 1.6 and @nodable/entities 3.1 (all MIT), and buffer 6.0 with base64-js 1.5 (MIT) and ieee754 1.2 (BSD-3-Clause). Read the source.
Compiled to WebAssembly by this site with rgbcx and bc7enc below, unmodified; the source built, with its LICENSE file, and the build files are published under /source/dds/. Read the source.
Compiled to WebAssembly by this site, unmodified; the source built, with its LICENSE file, and the build files are published under /source/dds/. Read the source.
Served unmodified from this site as separate files (its JavaScript and WebAssembly), so it can be replaced; the source is linked here. Read the source.
The WebAssembly is unmodified; its JavaScript loader is patched here so it never evaluates strings as code (two embind functions rewritten as plain closures).
A WebAssembly build of Open CASCADE Technology (OCCT, LGPL-2.1 with the Open CASCADE exception), run in its own worker from this site as separate files, so it can be replaced. The WebAssembly is unmodified; its JavaScript loader is patched here so it never evaluates strings as code: two embind functions are rewritten as plain closures, and the patch script is published. The source, which takes in OCCT’s, is linked here. Read the source.
Served unmodified from this site as a separate file, which can be replaced; its output is corrected afterwards by this site’s own code.
A WebAssembly build of libheif and the libde265 HEVC decoder, both LGPL-3.0, served unmodified from this site as a separate file - which is how the LGPL expects a library to be used. Its source and build scripts for this version are linked here.
Its JavaScript is bundled inside Transformers.js, and served from this site on its own for Remove Objects from Photos; its WebAssembly engine is a separate file served from this site.
A WebAssembly build of OpenJPEG, which is BSD-2-Clause.
A WebAssembly build of CharLS, which is BSD-3-Clause.
Fonts and data
Typefaces, trained data and map tiles, rather than code.
By Ziyu Wan, Bo Zhang, Dongdong Chen, Pan Zhang, Dong Chen, Jing Liao and Fang Wen (Microsoft Research, CVPR 2020); code and released weights MIT. Converted here to ONNX with its convolution weights quantized to 8 bits, served with its licence and a note of the changes.
By Andranik Sargsyan, Shant Navasardyan, Xingqian Xu and Humphrey Shi (Picsart AI Research, ICCV 2023). The code and, under their own LICENSE-WEIGHTS, the weights are MIT. The ONNX file is served from this site, unchanged, with its licence.
By Xiaoyang Kang, Tao Yang, Wenqi Ouyang, Peiran Ren, Lingzhi Li and Xuansong Xie (DAMO Academy, Alibaba Group; ICCV 2023). Code and weights are Apache-2.0. Exported to ONNX and quantized to 8 bits for this site, which serves it with its licence and a note of the changes.
By hexgrad; the ONNX export by the onnx-community project (Apache-2.0), downloaded from huggingface.co on first use and checked against its published SHA-256.
American and British English lexicons from misaki, the G2P written for Kokoro, fetched from jsDelivr with their hashes checked; the lexicon logic is ported to TypeScript here, without the eSpeak fallback.
By Kyubyong Park: a small neural network trained on CMUdict that guesses the pronunciation of words no dictionary has; its weights are fetched from jsDelivr and run in plain JavaScript.
Open Remove Background, by Maximilian Schirrmacher, converted to ONNX by the onnx-community project and downloaded from huggingface.co on first use.
OpenAI’s models, converted to ONNX by the onnx-community project and downloaded from huggingface.co on first use; Add Subtitles to Video uses the versions exported with word timings.
By Marcos Conde and colleagues (mv-lab), converted to ONNX by Xenova and downloaded from Hugging Face on first use.
Map data is © OpenStreetMap contributors. Tiles are fetched from openstreetmap.org, so OpenStreetMap sees which map squares you view. Private by design lists every request the site makes.
In short
Most of the above is permissively licensed — MIT, Apache-2.0, BSD, OFL or public-domain equivalent. The copyleft exceptions are named here rather than buried. MPL-2.0, a file-level copyleft licence: ical.js, Mediabunny and its MP3 encoder, used unmodified; and librevenge, libmspub, libcdr, libvisio, libwps and onenote.rs, which this site compiles to WebAssembly and whose build files and fixes are published. LGPL: libheif-js, occt-import-js, mathml2omml, 7-Zip, chmdec, FFmpeg, LAME and MPXJ, each served as a separate file that can be replaced, with its source published or linked. GPL: helpdeco and untrunc run as separate programs in their own workers, with their source published; libredwg-web is GPL-3.0, so the DWG and DXF viewer that runs with it is published under GPL-3.0 too.
Several projects are dual licensed, and where the list names a choice, this site elects it: DOMPurify under Apache-2.0, JSZip under MIT, and VTracer under MIT. Others are listed with both licences, either of which applies.
If you maintain something listed here and the attribution is wrong or missing, please let me know and I will fix it.