Drag & drop images here
Shrink file size without changing format — nothing leaves your device.
How it works
Drop your images
One file or a batch — nothing is uploaded anywhere.
Pick a quality
Slide to trade off file size against sharpness.
Optionally cap dimensions
Downscaling a huge photo is often the single biggest size win.
Compress and download
See exactly how much you saved per file, then download.
Compress Image reduces file size while keeping your original format, by re-encoding each image at your chosen quality level inside a background worker. Nothing is rasterized differently or converted — a JPG stays a JPG, a PNG stays a PNG, only smaller.
Two controls do the actual work: the quality slider adjusts how aggressively JPG/WebP images are re-encoded (PNG re-encodes losslessly regardless, so its size reduction comes mostly from the dimension cap), and the max-dimension option downscales the image's longest edge before re-encoding — often the single biggest size reduction for a large photo that's bigger than it needs to be for web or messaging use.
Every file shows its before/after size so you can judge the trade-off directly, and a batch of images compresses one at a time inside a single worker, keeping memory use predictable regardless of how many files you drop in.
The reason PNG behaves so differently from JPG/WebP here comes down to what "lossless" actually means: PNG is designed to reconstruct every pixel exactly, so there's no "quality" knob to turn down the way there is for a lossy format — re-encoding a PNG at a different setting mostly just re-runs its internal compression more or less aggressively, which yields modest gains at best. This is why, for a genuinely large size reduction on a PNG specifically, downscaling its dimensions (fewer pixels to store, full stop) or converting it to a lossy format via Image Converter tends to move the needle far more than adjusting quality alone ever will. See the lossless vs. lossy guide for the full explanation of why that gap exists.
A quality setting in the 70–85% range is a reasonable default for photographic JPG/WebP content — high enough that artifacts are hard to spot at normal viewing sizes, low enough to meaningfully shrink the file. Going much lower trades diminishing file-size returns for increasingly visible blockiness, particularly around sharp edges and text.