Image Compressor
Compress PNG, JPG, or WebP images right in your browser. Adjust quality, see before/after sizes, download. Files never leave your device.
🔒 Files never leave your browser — no upload, no server, no tracking.
No image yet.
No image yet.
What is this for?
This tool re-encodes a PNG, JPG, or WebP image at a lower quality to shrink its byte size. It uses the browser's native Canvas API (canvas.toBlob) — the image is decoded, drawn into a canvas, and re-encoded at the quality you pick. The file never leaves your device; there is no upload and no server-side processing. Useful when you need to fit an image under an email attachment limit, an upload size cap, or just want to trim page weight.
When to use it
- An attachment is over your email provider's limit (often 25 MB).
- A CMS or form rejects images over a certain size.
- You're shipping images on a webpage and want LCP-friendly file sizes.
- A messaging app is degrading your image — pre-compress at a quality you control before sending.
Common gotchas
- PNG ignores the quality arg. PNG is a lossless format; the slider doesn't affect it. For real PNG savings, switch to JPG via the convert tool — typical photographic content shrinks 5–10×.
- Re-encoding loses information. If you compress an already-compressed JPG you'll lose more quality than starting from the original. Compress once from the source.
- Quality 0.8 is usually invisible. Below 0.5, JPEG artefacts get visible especially on flat-colour areas like skin and skies.
- WebP is smaller than JPG at the same quality — but not every recipient app supports it. Stick to JPG if you're sending to an unknown audience.