Image compressor
Shrink JPG, PNG, WebP and AVIF in your browser with the same codecs Squoosh uses. Nothing is uploaded.
Drop images here, or browse
PNG, JPG, WebP, AVIF, HEIC · up to 50 MB each · mozjpeg + oxipng + libavif
Preserves the source format using its best codec.
Frequently asked
What codecs are used?+
JPG uses mozjpeg, PNG uses oxipng, WebP uses libwebp, and AVIF uses libavif — the same encoders Squoosh ships. They're compiled to WebAssembly and run entirely in your browser.
Why is this better than canvas.toBlob?+
Browser-built-in JPG encoders typically produce files 20–40% larger than mozjpeg at the same visual quality. Native canvas PNG output is essentially uncompressed; oxipng can shave another 30–60% on top.
What's the difference between Quality and Target size?+
Quality mode applies one quality setting to every file. Target size mode binary-searches the quality slider for each file until the result fits under the limit you set.
Why is AVIF slow?+
AVIF (libavif) is the slowest of the encoders by design — it's exploring far more compression options. For batch work, prefer WebP for similar size with much faster encoding.
Will compression damage my photos?+
Quality 80–90 is visually indistinguishable from the original for most photos. Below 60 you'll start to see compression artifacts in skies, gradients, and skin. PNG and oxipng are lossless — pixel-perfect.
Does it work offline?+
After the first visit, the page itself is cached. The codec WebAssembly is also cached after first use — so subsequent compressions of the same format work without a network connection.