Open-source licenses
Stayput is MIT licensed and stands on a lot of other people's open-source work. This page lists every library, WebAssembly module, AI model and font the site ships to your browser, with its version, its license and a link to the exact source. It is generated from one data file in the repository, and a test fails when a dependency is missing from it.
Source code, and your right to replace or relink the LGPL parts
A few components are under the GNU Lesser General Public License (LGPL) or the Mozilla Public License 2.0 (MPL). Both let anyone use them in a project like this one. They also give you rights over those components, so here is how to use them.
- Source. Each LGPL and MPL component below links to the exact version that Stayput ships: a release tag or a commit in its upstream repository. The source for Stayput's own code, including the build script that copies the decoders into place, is in the repository. If a link ever stops working, tell us at hello@stayput.dev and we will fix it or send you the source.
- They are separate files. The LGPL parts are not merged into Stayput's own JavaScript. HEIC support is one file (
/vendor/heic-to@1.6.5/heic-to.min.js, which holds libheif and libde265), and MP3 encoding is another (/vendor/wasm-media-encoders@0.7.0/mp3.wasm, which is LAME). The page loads each by URL when a tool needs it and does not check what is inside, so a modified or newer build of the same library works as a drop-in. - Replace or relink them on your own copy. Clone the repository, point the entry for the library in
src/data/vendor.jsonat your build (or install your build in place of the npm package), runnpm run buildand serve thedistfolder. The build copies the file into/vendor/and nothing else needs to change. - Replace them in your browser, without building anything. Use your browser's local overrides, or an extension that rewrites requests, to answer the URL above with your own file. Turn on "Bypass for network" in the developer tools for the visit, because the site's service worker caches these files. You may also reverse engineer the LGPL parts as far as needed to debug your changes.
- MPL parts. Mediabunny and Eigen are under MPL-2.0, which applies to their own files only. Their source is linked below. Stayput's own files stay MIT, and any change you make to a file under the MPL has to be published under the MPL.
Full license texts: GNU LGPL 3.0 (it builds on the GNU GPL 3.0), GNU Library GPL 2.0 and Mozilla Public License 2.0.
Components under the LGPL
- heic-to 1.6.5License: LGPL-3.0Copyright: Hopper Gee (author of heic-to; its LICENSE has no separate copyright line)Source for this exact version: github.com/hoppergee/heic-to/tree/v1.6.5Shipped as: Served as a separate file, /vendor/heic-to@1.6.5/heic-to.min.js, loaded only by tools that open HEIC photos. It contains libheif and libde265 compiled to WebAssembly.To replace it, serve your own file at
/vendor/heic-to@1.6.5/heic-to.min.js. - libheif 1.23.5License: LGPL-3.0Copyright: Copyright (c) 2017-2025 Dirk Farin and the libheif contributorsSource for this exact version: github.com/strukturag/libheif/tree/v1.23.5Shipped as: Compiled to WebAssembly inside /vendor/heic-to@1.6.5/heic-to.min.jsTo replace it, serve your own file at
/vendor/heic-to@1.6.5/heic-to.min.js. - libde265 1.0.16License: LGPL-3.0Copyright: Copyright (c) 2013-2014 struktur AG, Dirk FarinSource for this exact version: github.com/strukturag/libde265/tree/v1.0.16Shipped as: Compiled to WebAssembly inside /vendor/heic-to@1.6.5/heic-to.min.jsTo replace it, serve your own file at
/vendor/heic-to@1.6.5/heic-to.min.js. - LAME MP3 encoder 3.100 (arseneyr/lame fork, commit 98db548)License: LGPL-2.0-or-laterCopyright: Copyright (c) 1999-2017 Mark Taylor, Takehiro Tominaga, Robert Hegemann, Gabriel Bouvigne, Alexander Leidinger and othersSource for this exact version: github.com/arseneyr/lame/tree/98db548e8e851defbba3184125ce10725355c332Shipped as: Compiled to WebAssembly as /vendor/wasm-media-encoders@0.7.0/mp3.wasmTo replace it, serve your own file at
/vendor/wasm-media-encoders@0.7.0/mp3.wasm.Licensed under the GNU Library General Public License version 2 or, at your option, any later version. The upstream release 3.100 is also at https://sourceforge.net/projects/lame/files/lame/3.100/ ; the linked commit is the exact (slightly modified) tree that was compiled.
Components under the MPL-2.0
- Mediabunny 1.61.0License: MPL-2.0Copyright: Copyright (c) 2026-present, Vanilagy and contributorsSource for this exact version: github.com/Vanilagy/mediabunny/tree/v1.61.0Shipped as: Bundled into the site JavaScript (video and audio tools)
- Eigen (inside MediaPipe's WebAssembly) commit 4c38131License: MPL-2.0Copyright: Copyright (C) 2008 Gael Guennebaud; (C) 2007-2011 Benoit Jacob; and other Eigen contributorsSource for this exact version: gitlab.com/libeigen/eigen/-/tree/4c38131a16803130b66266a912029504f2cf23cdShipped as: Compiled into vision_wasm_internal.wasmTo replace it, serve your own file at
/vendor/mediapipe-tasks-vision@1.0.1/vision_wasm_internal.wasm. - Eigen (inside ONNX Runtime's WebAssembly) commit 1d8b82bLicense: MPL-2.0Copyright: Copyright (C) 2008 Gael Guennebaud; (C) 2007-2011 Benoit Jacob; and other Eigen contributorsSource for this exact version: github.com/eigen-mirror/eigen/tree/1d8b82b0740839c0de7f1242a3585e3390ff5f33Shipped as: Compiled into the ort-wasm-simd-threaded*.wasm filesTo replace it, serve your own file at
/vendor/onnxruntime-web@1.30.0/ort-wasm-simd-threaded.wasm.
Notices
- OpenSSL 1.0.2sThis product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (https://www.openssl.org/), and cryptographic software written by Eric Young (eay@cryptsoft.com).Copyright: Copyright (c) 1998-2018 The OpenSSL Project; Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)License text: OpenSSL License and SSLeay License
Libraries and WebAssembly modules
Each item names the library, then what is compiled or bundled inside it. Versions are the ones in the current build.
- Transformers.js 4.3.0Bundled into the site JavaScript (speech to text).
- @huggingface/jinja 0.5.10
- @huggingface/tokenizers 0.2.0
- ONNX Runtime Web 1.30.0JavaScript bundled into the site; WebAssembly files served from /vendor/onnxruntime-web@1.30.0/ (background remover, upscaler, object remover, speech to text, vocal remover).
- onnxruntime-common 1.30.0
- Eigen (inside ONNX Runtime's WebAssembly) commit 1d8b82b
- Other libraries inside ONNX Runtime's WebAssembly (protobuf, ONNX, FlatBuffers, Abseil, XNNPACK and others) as pinned by ONNX Runtime 1.30.0ONNX Runtime publishes the full list with licence texts in ThirdPartyNotices.txt at the linked tag.
- jSquash AVIF 2.1.1Decoder served from /vendor/jsquash-avif@2.1.1/ (JavaScript and WebAssembly).
- wasm-feature-detect 1.9.0
- libavif 1.0.1
- libaom (AV1 decoder) 3.7.0Also covered by the AOMedia Patent License 1.0 in the same repository.
- libsharpyuv (from libwebp) commit e2c8587
- jSquash JPEG XL 1.3.0Decoder served from /vendor/jsquash-jxl@1.3.0/ (JavaScript and WebAssembly).
- libjxl commit 9f54464
- Highway, skcms and Brotli (libjxl third_party) as pinned by libjxl commit 9f54464Highway is Apache-2.0 (also BSD-3-Clause), skcms is BSD-3-Clause, Brotli is MIT, each per its upstream licence.
- MediaPipe Tasks Vision 1.0.1JavaScript bundled into the site; WebAssembly served from /vendor/mediapipe-tasks-vision@1.0.1/ (face blur, video background removal). The npm package is the exact source we link; upstream does not publish a Git tag for 1.0.1 (the nearest is v1.0.0 at https://github.com/google-ai-edge/mediapipe/tree/v1.0.0).
- MediaPipe runtime (TensorFlow Lite, XNNPACK, ruy, OpenCV, libpng, libjpeg) as pinned by MediaPipe tasks-vision 1.0.1The libraries named in the binary, each under its own permissive licence. The WORKSPACE file at the linked tag pins their versions.
- Eigen (inside MediaPipe's WebAssembly) commit 4c38131
- qpdf-wasm 0.3.0Served from /vendor/neslinesli93-qpdf-wasm@0.3.0/ (JavaScript and WebAssembly: compress, unlock and protect PDFs). This ISC licence covers only the wrapper. The qpdf program inside it is Apache-2.0, listed below.
- qpdf 12.2.0The Apache-2.0 text and qpdf's NOTICE are copied verbatim from the v12.2.0 release and served next to the wasm. Also inside qpdf: Philip J. Erdelsky's public-domain Rijndael (AES) code, and sha2 code from sphlib 3.0 (Copyright (c) 2007-2011 Projet RNRT SAPHIR, MIT-style licence reproduced in the NOTICE).
- sphlib (sha2 code) 3.0
- Rijndael (AES) implementation by Philip J. Erdelsky as vendored in qpdf 12.2.0
- zlib 1.2.12 (commit 21767c6)
- libjpeg-turbo (ImageMagick fork) commit 7aa2a89 (copyright 1991-2021)
- @noble/ciphers 2.4.0Bundled into the site JavaScript (AES for password ZIPs).
- rnnoise-wasm 2025.1.5Served from /vendor/shiguredo-rnnoise-wasm@2025.1.5/ (JavaScript with embedded WebAssembly: remove background noise).
- RNNoise (code and trained model) commit 70f1d25
- hash-wasm 4.12.0Served from /vendor/hash-wasm@4.12.0/ (JavaScript with embedded WebAssembly: MD5, SHA-1 and SHA-256 for the file checksum tool).
- Tesseract.js 7.0.0Worker served from /vendor/tesseract.js@7.0.0/; client bundled into the site JavaScript (image to text).
- regenerator-runtime 0.13.11
- bmp-js 0.1.0
- idb-keyval 6.3.0
- is-url 1.2.4
- zlibjs 0.3.1
- Tesseract.js Core 7.0.0Served from /vendor/tesseract.js-core@7.0.0/ (WebAssembly build of Tesseract).
- Tesseract OCR engine (Balearica fork) commit 2a9c1c4
- Leptonica commit 4af068b
- libjpeg (IJG 9a, LuaDist mirror) commit 6c0fcb8
- libpng commit a37d483
- libtiff commit b51bb15
- libwebp commit 20ef03e
- giflib (mirror) commit fa37672
- zlib 1.2.12 (commit 21767c6)
- OpenLibm commit ae2d916
- JsBarcode 3.12.3Bundled into the site JavaScript (barcode generator).
- music-tempo 1.0.3Bundled into the site JavaScript (BPM and key finder).
- fflate 0.8.3Bundled into the site JavaScript (ZIP files).
- gifenc 1.0.3Bundled into the site JavaScript (making GIFs).
- gifuct-js 2.1.2Bundled into the site JavaScript (reading GIFs).
- js-binary-schema-parser 2.0.3
- heic-to 1.6.5Served as a separate file, /vendor/heic-to@1.6.5/heic-to.min.js, loaded only by tools that open HEIC photos. It contains libheif and libde265 compiled to WebAssembly..
- libheif 1.23.5
- libde265 1.0.16
- imagetracerjs 1.2.6Bundled into the site JavaScript (tracing images to SVG).
- libarchive.js 2.0.2Served from /vendor/libarchive.js@2.0.2/ (worker bundle and WebAssembly: opens ZIP, RAR and 7z).
- Comlink 4.4.2
- libarchive 3.7.2
- zlib 1.3
- bzip2 1.0.8
- XZ Utils (liblzma) 5.2.11
- OpenSSL 1.0.2s
- Mediabunny 1.61.0Bundled into the site JavaScript (video and audio tools).
- mp4-muxer 5.2.2Bundled into the site JavaScript (GIF to MP4).
- pdf-lib 1.17.1Bundled into the site JavaScript (editing PDFs).
- @pdf-lib/standard-fonts 1.0.0
- @pdf-lib/upng 1.0.1
- tslib 1.14.1
- pako 1.0.11Inside pdf-lib and UTIF.js.
- PDF.js 6.3.289Bundled into the site JavaScript, plus its worker (showing PDF pages).
- pdfmake 0.3.11Bundled into the site JavaScript (EPUB to PDF).
- pako 0.2.9
- tslib 2.8.1
- @swc/helpers 0.5.23
- pdfkit 0.19.1
- fontkit 2.0.4
- restructure 3.0.2
- linebreak 1.1.0
- unicode-trie 2.0.0
- unicode-properties 1.4.1
- tiny-inflate 1.0.3
- png-js 1.1.0
- brotli.js 1.3.3
- dfa 1.2.0
- clone 2.1.2
- js-md5 0.8.3
- xmldoc 2.0.3
- sax 1.6.1
- @noble/hashes 1.8.0
- @noble/ciphers 1.3.0
- fast-deep-equal 3.1.3
- browserify-zlib 0.2.0
- base64-js 1.5.1
- Node.js compatibility shims in pdfmake's prebuilt bundle (buffer, readable-stream, safe-buffer, events, assert, util, process, stream-browserify, string_decoder, ieee754, inherits, core-js, file-saver and similar small packages) as pinned by pdfmake 0.3.11Licences taken from each package's npm metadata (nearly all MIT; ieee754 is BSD-3-Clause and inherits is ISC).
- Roboto font (in pdfmake) as bundled in pdfmake 0.3.11Copyright 2011 The Roboto Project Authors. Version 3.014. Licence text at /fonts/OFL-Roboto.txt.
- UPNG.js 2.1.0Bundled into the site JavaScript (PNG).
- UTIF.js (utif2) 4.1.0Bundled into the site JavaScript (TIFF).
- ag-psd 31.0.3Bundled into the site JavaScript (PSD).
- wasm-media-encoders 0.7.0JavaScript bundled into the site; mp3.wasm served from /vendor/wasm-media-encoders@0.7.0/ (MP3 encoding). The MIT licence covers the wrapper. The MP3 encoder inside mp3.wasm is LAME, which is LGPL, listed below.
- LAME MP3 encoder 3.100 (arseneyr/lame fork, commit 98db548)Licensed under the GNU Library General Public License version 2 or, at your option, any later version. The upstream release 3.100 is also at https://sourceforge.net/projects/lame/files/lame/3.100/ ; the linked commit is the exact (slightly modified) tree that was compiled.
- zxing-wasm 3.1.5Reader wrapper bundled into the site JavaScript; WebAssembly served as /vendor/zxing-wasm@3.1.5/zxing_reader.wasm (QR code scanner).
- ZXing-C++ 2ecec3f5be0ee803f6e14a5a2c7028c0cfe525b4
- Umami tracker script 3.4.0Loaded from our own analytics server, not from this site (see the privacy page).
AI models
The models are files on this site, loaded by the tool that needs them and run on your device. Each license below allows redistribution; a note flags anything unusual about a model's training data.
- Tesseract English training data (tessdata_best, integer model) 1.0.0Served from /vendor/tesseract.js-data-eng@1.0.0/eng.traineddata.gz (loaded by image to text). The npm package says MIT; the data itself comes from tessdata_best, whose repository states Apache-2.0 for all data.
- ISNet general use (background remover) isnet-general-use, 8-bit weights re-export/models/isnet-general-use-int8w.onnx. The DIS README licenses only its "code and evaluation metric" under Apache-2.0 and names no licence for the ISNet weights. The model was trained on the DIS5K dataset, whose terms of use restrict it to non-commercial research and educational use. The 8-bit file here is the re-export distributed by rembg.
- MI-GAN (object remover) pipeline v2/models/migan-pipeline-v2.onnx. Code and weights are both MIT (LICENSE and LICENSE-WEIGHTS in the repository).
- Real-ESRGAN general x4v3 (image upscaler) v0.2.5.0 weights/models/realesr-general-x4v3.onnx
- Whisper base, 8-bit ONNX export (speech to text) base, onnx-community export/models/whisper-base/. OpenAI's repository releases the code and model weights under MIT. The Hugging Face card for openai/whisper-base lists Apache-2.0; both are permissive.
- UVR-MDX-NET Inst HQ 3 (vocal remover) unmodified ONNX file/models/uvr-mdx-net-inst-hq-3.onnx. The Ultimate Vocal Remover README says its code is MIT and asks developers who use its models to honour the MIT licence and credit UVR and its developers. Credit is given on this page.
- BlazeFace short range (face finder) float16, "latest" as downloaded/models/blaze_face_short_range.tflite. Licence from the MediaPipe BlazeFace model card.
- Selfie multiclass segmenter (video background remover, Better edges option) 256x256 float32, "latest" as downloaded/models/selfie_multiclass_256x256.tflite. Licence from the MediaPipe multiclass segmentation model card.
- Selfie segmenter (video background remover) 256x256 float16, "latest" as downloaded/models/selfie_segmenter.tflite. Licence from the MediaPipe selfie segmentation model card. Used for portrait and square video.
- Selfie segmenter, landscape (video background remover) 144x256 float16, "latest" as downloaded/models/selfie_segmenter_landscape.tflite. Licence from the MediaPipe selfie segmentation model card. Used for wide video.
Fonts and other files
- Archivo font variable, 2020/fonts/archivo-var.woff2 (licence at /fonts/OFL-Archivo.txt)
- Caveat font 500, 2014/fonts/caveat-500.woff2 (licence at /fonts/OFL-Caveat.txt)
- Great Vibes font Regular, 2015 (Google Fonts v21)/fonts/great-vibes.woff2 (licence at /fonts/OFL-GreatVibes.txt)
- Dancing Script font 500, 2016 (Google Fonts v29)/fonts/dancing-script-500.woff2 (licence at /fonts/OFL-DancingScript.txt)
Back to About Stayput.