Essentials
Compress images — privately
Compress JPEG, PNG and WebP images in your browser with a live before/after comparison. No upload, no account, metadata removed.
No upload. No account. Nothing stored.
Drop an image here
or
JPEG, PNG, WebP, AVIF or GIF. Processed in your browser — nothing is uploaded.
How it works
Choose an image and Image re-encodes it in your browser. For JPEG and WebP, the quality slider trades detail for size: around 70–85% is usually indistinguishable from the original at a fraction of the bytes. The result updates as you move the slider, with the original and the compressed version side by side.
PNG is lossless, so it has no quality setting. Lossless re-packs the file with better compression without changing a single pixel. Reduce colours turns it into a palette PNG (up to 256 colours) — often 60–80% smaller, but it's lossy and is labelled that way.
Every compressed file is free of metadata: EXIF, GPS location, camera and software details are not carried over. If the result would be larger than your original — common for files that are already well compressed — Image says so instead of calling it compressed.
Worked example
A typical 12-megapixel phone photo saved by the camera at maximum quality is around 4–5 MB. Re-encoded as JPEG at quality 75 it usually lands near 1–1.5 MB — a 70–75% saving — and as WebP at the same quality typically 25–35% smaller again.
A 2 MB screenshot PNG often drops to 0.5–0.8 MB with Reduce colours (256), because screenshots use few distinct colours; a lossless re-pack usually saves only a few percent.
Edge cases handled
- Files already well compressed: a larger result is flagged, never presented as savings.
- Transparent PNG/WebP → JPEG: you choose the background; transparency is never flattened silently.
- Animated GIF/WebP/APNG: detected; only the first frame is processed, after you confirm.
- Files named with the wrong extension are identified by their contents.
- Corrupted or unsupported files get a precise message instead of a broken result.
- Very large images are refused before decoding if they'd exceed this device's safe memory.