Compress images without uploading them
Everything runs inside your browser. Add one photo or five hundred — the engine measures each image, picks the smallest file that still looks identical, and hands it straight back to you.
- Nothing is uploaded
- JPEG · PNG · WebP · AVIF
- HEIC from iPhone
- Unlimited & free
Drop your images here
or paste from the clipboard · ⌘V / Ctrl+V works too
JPG · JPEG · PNG · WebP · AVIF · HEIC · GIF · BMP — no file count limit
Compression settings
Applied to every imageAuto measures each image: it encodes a test pass at several quality levels, scores the result against the original, and keeps the smallest file that still clears a ~40 dB fidelity floor.
Advanced options
Auto applies a halo-free unsharp mask only when an image is scaled below 82%.
WASM codecs are fetched from a public CDN on first use and give slightly smaller files. Every fallback still works offline.
Results
What this compressor actually does
Most online compressors work the same way: your file is uploaded, passed through a fixed preset such as "quality 80", and sent back. That preset has no idea what your image contains, so a smooth sky and a photo of tree branches receive identical treatment — one ends up unnecessarily large, the other unnecessarily degraded.
This tool inverts the process. Your image is analysed first, then encoded to fit the evidence. It is the same strategy used by professional build pipelines, running in a browser tab you can close at any time.
The five things that make the output smaller
- Measured quality instead of a fixed preset. A small proxy is encoded at several quality levels and decoded again; each result is scored against the original using PSNR. The engine keeps the lowest quality that still clears a 40 dB fidelity floor, with headroom so the full-resolution encode stays there too.
- Quality-aware format selection. Opaque photographs go to WebP (or AVIF when you ask for it) which beat JPEG by roughly 25–50% at matching visual quality. Graphics with flat colour and few unique tones stay in PNG, where lossless and palette encoding win outright.
- Palette quantization for PNG. Screenshots, diagrams and flat illustrations rarely need 16.7 million colours. A median-cut quantizer reduces them to 256 (or fewer) with optional Floyd–Steinberg dithering, then writes a true indexed PNG — typically 70–90% smaller with no visible banding.
- Iterative halving when downscaling. Shrinking a 6000 px photo to 1600 px in one step aliases badly. Halving repeatedly and smoothing at each stage preserves edge structure, which in turn lets the encoder spend fewer bits on the same perceived quality.
- Metadata removal. EXIF blocks, thumbnails embedded inside the file, GPS traces and maker notes can add tens of kilobytes on their own. They are dropped, while the orientation tag is applied to the pixels first so nothing ends up sideways.
Choosing a strategy
| Strategy | Best for | What it optimizes |
|---|---|---|
| Auto | Everyday use, large batches | Smallest file that is still visually identical |
| Quality | Predictable, repeatable output | A fixed encoder setting you control |
| Target size | Upload limits, forms, email caps | Landing under an exact KB budget |
Which output format should you pick?
| Format | Compression | Transparency | Use it for |
|---|---|---|---|
| WebP | Excellent | Yes | The default recommendation for the web |
| AVIF | Best | Yes | Maximum savings when you can wait a moment longer |
| JPEG | Good | No | Maximum compatibility with older software |
| PNG | Lossless | Yes | Screenshots, logos, anything that must stay pixel-exact |
A note on transparency: JPEG cannot store an alpha channel. If your PNG has transparency and you export to JPEG, the transparent areas are flattened onto white. Choose WebP or PNG to keep the alpha channel intact.
Frequently asked questions
How do I compress an image to exactly 200 KB?
Set Strategy to Target size and type 200 in the KB field. The engine binary-searches the encoder quality across up to seven passes, and if even the lowest sensible quality overshoots, it downscales the image step by step until the file fits. The result panel shows exactly what it did.
Does compressing reduce image quality?
Lossy formats always discard something, but Auto mode holds measured fidelity above ~40 dB PSNR, which is past the point where differences are visible at normal viewing sizes. If you want certainty rather than heuristics, use Quality mode with a high setting or export PNG, which is lossless.
Can I compress a whole folder at once?
Select as many files as you like in the file picker, or drag a multi-selection straight onto the page. They process in parallel background workers, and Download all packages every finished file into a single ZIP — duplicate names are de-duplicated automatically.
Why did one of my files come back unchanged?
If re-encoding would have produced a larger file, the original is kept instead and the row is labelled "already optimal". This happens with images that were already compressed aggressively — there is genuinely nothing left to remove, and shipping a bigger file would be a downgrade.
Is my data safe?
Your files are only ever read by your own browser. There is no server-side component that accepts image data. The only network requests the page makes are for the site's own assets and, optionally, the WASM codec modules from a public CDN — never your images.
Does it work offline?
Yes. Once the page has loaded, compression runs entirely on your machine. Blocking the CDN only means the optional WASM codecs are unavailable; the built-in browser encoders take over automatically and everything else is identical.