Legal · Licences

Open-source engines we ship

Local tools here run on your device, which means the code doing the work is downloaded to your browser from us rather than executed on a server. The two AI generators are separately labelled cloud tools. Where a licence asks us to name a component, state its version, and tell you how to get the source, that is what this page does.

libheif 1.23.2

Served as the published WebAssembly build from the libheif-js project (https://github.com/catdad-experiments/libheif-js), unmodified. That build links the libde265 decoder listed below, so the binary carries both.

libde265 1.0.x as bundled by libheif-js 1.23.2

Not shipped as a separate file: it is compiled into the libheif WebAssembly binary above.

gif.js 0.2.0

Served unmodified together with its companion worker, gif.worker.js, from the same folder, so the encoder runs in a Web Worker instead of blocking the page.

omggif 1.0.10

Unmodified. The upstream repository publishes no LICENSE file, so the MIT notice printed in the package README is stored next to the code.

tesseract.js 7.0.0

Unmodified dist/tesseract.min.js and dist/worker.min.js, served from the same folder. The webpack third-party notices that upstream ships beside them (tesseract.min.js.LICENSE.txt, worker.min.js.LICENSE.txt) are published next to the files.

tesseract.js-core 7.0.0

Unmodified. Only the SIMD LSTM build is served, which covers every browser with WebAssembly SIMD; the non-SIMD build upstream ships is not vendored, so an old engine is refused with a clear message rather than failing quietly.

eng.traineddata (tessdata_fast) 4.1.x, main branch

Byte-for-byte the upstream file, stored gzipped because that is the form the worker requests; the browser decompresses it locally. The license is checked against the repository rather than assumed: its README states that all data in it is licensed under Apache-2.0, and the LICENSE file beside eng.traineddata is the Apache-2.0 text stored next to it here.

MediaPipe Tasks Vision 1.0.1

Three unmodified files from the npm package: vision_bundle.js, wasm/vision_wasm_internal.js, and wasm/vision_wasm_internal.wasm. The bundle is published upstream as vision_bundle.mjs and renamed here so it is served as JavaScript without a server MIME rule. Only the SIMD WebAssembly build is vendored; a browser without WebAssembly SIMD is refused with a clear message rather than carrying an extra 11 MB duplicate. The npm package ships no LICENSE file but declares Apache-2.0 in its package.json, so the license text stored beside the code is the one from the upstream repository. One behaviour found by testing rather than by reading: the bundle carries a usage logger that POSTs anonymized protobuf to odml.pa.googleapis.com from the visitor’s own browser on a timer. Nothing of your picture is in that payload, but a request leaving the tab still contradicts what this site promises, so the code refuses that host before the bundle is loaded and the engine runs without phoning home.

BlazeFace short-range face detector (float16) 1

Unmodified 230 KB model downloaded from the Google model bucket. The file carries no license text of its own, so the terms were checked against the source that states them: Google's model card for this detector, whose PDF is archived beside the model rather than left as a link that could move. It says Apache-2.0. It stays on your device and runs locally: no image is sent anywhere while it works.

MediaPipe Selfie Segmenter (float16) latest, 249,537 bytes, sha256 191ac952

Unmodified model from the Google model bucket, verified against the card PDF archived with it as Apache-2.0. Scope note worth stating out loud: this model segments the prominent human in a frame and nothing else. It is not a general cutout engine, which is why the page it serves is written for portraits rather than for products, animals, or objects. Its own card also warns that masks are not pixel perfect and that people beyond roughly four metres, or several people at different scales, are outside what it was built for.

Your rights under the GNU LGPL version 3

Components listed under LGPL-3.0-or-later are used in a compiled WebAssembly form. You may copy and redistribute that binary, and modify it for your own debugging and modification purposes, provided the licence travels with it and any recipient can replace the parts they need to. The links above point at the exact upstream release each binary was built from and at the build scripts that produced it, so nothing is withheld. We do not restrict reverse engineering for the purpose of debugging those modifications, and this service is provided without the warranty sections 15 and 17 of the licence would otherwise disclaim, in as far as we may.

Requesting a copy in another form

If a link above ever breaks, or you would rather have the complete corresponding source as files than as instructions for fetching them, write to [email protected] naming the component and version and we will send it. This offer is made to anyone who receives a build from us and stays open as long as we offer the tool.