Advanced Image Compressor
Drop one or many images to compress them — with a live before/after slider so you can see the result before downloading it, not just a file-size percentage.
Need a data URI instead of a downloadable file? Try the Base64 Image Encoder instead.
Drop one or more images here
JPEG, PNG, WebP, GIF, BMP · up to 40 files · 25 MB each · nothing uploaded
{{ status }}
Drag the divider (or use arrow keys) to compare — {{ fmtBytes(selected.srcBytes) }} → {{ fmtBytes(selected.outBytes) }}
{{ r.name }}
{{ r.error }}
- {{ w }}
Every image is decoded, compressed and re-encoded entirely in your browser. Nothing is ever uploaded to a server.
How compression works here
Each image is decoded, optionally resized, and re-encoded through the browser's own image encoder — the same one behind "Save As" in any browser. Large downscales are done in halving steps rather than one big resize, which is what keeps a photo sharp instead of introducing the soft, aliased look a single large resize produces. Photos re-encoded from a phone come out the right way up automatically, because decoding honours the orientation the camera recorded rather than ignoring it.
Why the before/after slider matters more than the percentage saved
A file-size percentage tells you nothing about whether the result still looks right. Drag the divider over any compressed image before downloading it — if the compressed side still looks like the original at the quality and size you chose, the number next to it is a real win, not a trade-off you haven't noticed yet.
Frequently asked questions
How is this different from just picking a low quality setting?
A low quality number alone doesn't tell you what the result looks like — this tool shows a live before/after slider for every file so you can see the actual trade-off before downloading, and large size reductions are done in gradual steps rather than one harsh resize, which is what keeps the result looking clean instead of soft or blocky.
Why does a downscaled photo look sharper here than from a single resize?
A single big resize (say, 4000px down to 400px) blurs and can introduce moiré patterns. This tool instead halves the image repeatedly down to roughly the target size, then makes one precise final pass — the standard fix for that softness, done automatically rather than as an option you'd need to know to enable.
Will my photos come out sideways?
No — decoding honours the orientation tag your camera or phone recorded, so a re-encoded photo comes out the same way up it went in, the same handling the Base64 Image Encoder uses.
What happens if I convert a transparent PNG to JPEG?
JPEG has no transparency, so transparent areas are filled with white before encoding — you're told this happens rather than finding out after the transparency has silently turned black.
Can I compress more than one image at once?
Yes — drop as many as you like (up to 40 at a time) and each gets its own row with its own before/after comparison, savings, and download button, plus a running total for the whole batch.
Are my images uploaded anywhere?
No. Decoding, resizing and re-encoding all happen in your browser using the Canvas API. Nothing is sent to a server.