Credits
Open-source credits
The open-source software this site is built with, with its license and where to get its source code.
Astro
The pages of this site are built with Astro 7.3.2, a web framework: it turns the site’s templates and text into the HTML files your browser loads. Copyright (c) 2021 Fred K. Schott.
Source: the Astro project on GitHub. Licensed under the MIT License. Astro builds the site and is never sent to your browser.
The image codecs that do the work
The tool compresses and converts images with WebAssembly modules, packaged by
jsquash and used here as the packages @jsquash/jpeg
1.6.0, @jsquash/png 3.1.1, @jsquash/oxipng 2.3.0, @jsquash/webp 1.5.0, @jsquash/avif 2.1.1
and @jsquash/resize 2.1.1. Jamie Sinclair publishes those six packages under the
Apache License 2.0, which covers the JavaScript that
loads each module.
That license is the wrapper’s, not the codecs’. Each WebAssembly module is compiled from someone else’s project under its own license, and it is the module that does the compressing. So each one gets its own entry below, with the license text the module itself ships.
JPEG: @jsquash/jpeg 1.6.0
Upstream: the Mozilla MozJPEG project, which the package’s own readme names. The WebAssembly builds this site ships carry libjpeg-turbo’s license roll-up: the IJG License, the Modified (3-clause) BSD License (copyright (C) 2009-2020 D. R. Commander and (C) 2015 Viktor Szathmáry), and the zlib License for the SIMD extensions. That roll-up requires the IJG README to travel with it, so this site serves that README as well. None of these licenses is the Apache 2.0.
The package records no upstream version number, so this site does not name one.
PNG: @jsquash/png 3.1.1
Upstream: Squoosh, version v1.12.0 in the
package’s own readme. The module ships the 3-clause BSD notice with
Copyright (c) 2010, Google Inc.. That readme also calls the
module Apache-2.0; this site ships the notice the module carries and leaves the difference
unresolved. One more thing worth knowing: this file is byte for byte the same text as the WebP
module’s notice below, so it is not a license written for the PNG codec.
PNG optimisation: @jsquash/oxipng 2.3.0
Upstream: oxipng, version v3.0.0 in the package’s own
readme, under the MIT License, Copyright (c) 2016 Joshua Holmer.
This module runs a second pass over a PNG output to make the same picture fewer bytes, which is why
a PNG can come back smaller than it went in.
WebP: @jsquash/webp 1.5.0
Upstream: libwebp, version v1.0.2 in the package’s own
readme, under the 3-clause BSD notice with
Copyright (c) 2010, Google Inc.. That is a BSD license,
not the Apache 2.0.
AVIF: @jsquash/avif 2.1.1
Upstream: libavif, version v1.0.1 in the package’s own
readmes. The package ships no license text for its WebAssembly builds, so this site serves the
project’s own license file at that tag. That file is libavif’s own BSD 2-clause notice plus one
section per file or directory it borrows (a dav1d OBU parser, iccjpeg helpers, gdk-pixbuf files and
build scripts) and the Apache License 2.0 at the end:
the libavif v1.0.1 license.
The libavif file does not cover the AV1 codec the module links in. Each WebAssembly module reports
AOMedia Project AV1 Encoder v3.7.0 or AOMedia Project AV1 Decoder v3.7.0 in a string of its own,
which is where that version comes from: the package records none, and that is a string inside the
compiled binary rather than a file this site shipped. libaom’s license is BSD 2-clause, copyright
(c) 2016 the Alliance for Open Media, and it comes with a separate patent license, so both are served
here from the upstream project at the tag the binaries report:
libaom’s license and
the AOMedia Patent License 1.0. Where each file came from, the
date it was read and its SHA-256 are in the inventory below.
Resizing: @jsquash/resize 2.1.1
Three separate Rust ports, each with its own license. The tool uses the first by default.
| Library | Upstream | Version | License |
|---|---|---|---|
| resize (lanczos3, the default) | PistonDevelopers/resize | v0.3.0 |
MIT, Copyright (c) 2015 PistonDevelopers |
| hqx | CryZe/wasmboy-rs | v0.1.2 |
Apache License 2.0 |
| magic-kernel | SevInf/magic-kernel-rust | v0.1.0 |
MIT, Copyright (c) 2024 Serhii Tatarintsev |
Where these files come from
The modules are built into this site’s own files and fetched from this site the first time you use their format. No codec is downloaded from anywhere else, and nothing about your image is sent to any server.
This site’s own code
The interface you use, the language switching, the structured data in the page source, and the build that draws the figures and the social cards are this site’s own code, kept in the same repository as the tool itself. The lists above are the only third-party software this site ships to a browser.
How this list was checked
Every version above was read out of the installed package this site builds from, and every license file above is served verbatim from this site rather than paraphrased. The full inventory, with the SHA-256 of each WebAssembly file, the exact place each version and license was read from, and the three notices that had to be fetched from upstream because the package ships none, is kept in this site’s own repository alongside these pages.
Where the evidence stops, this page stops too. Three things are stated rather than resolved: the JPEG module’s upstream version is not recorded anywhere in the package, the PNG module’s readme and its shipped notice disagree about the license, and the AVIF modules’ own version of the AV1 codec is known only from a string inside the compiled binary.