Compress Images
Shrink JPG, PNG, and WebP images with a live quality slider and instant savings readout. Everything is processed in your browser — nothing is uploaded.
Image compressor
Drop images here
or press Enter / click to browse your device
JPG · PNG · WebP · up to 100 MB per file
Drop files to begin — original vs. compressed sizes will appear here.
How it works
What "compressing" actually does
When you lower the quality slider, each image is decoded to raw pixels and re-encoded with stronger quantization: the JPEG or WebP encoder throws away fine high-frequency detail that human vision barely registers, which is why a photo can shrink by 70% yet look identical at a glance. Camera metadata (EXIF) is dropped along the way, which saves a little more. Because the slider re-compresses live, you can drag it until the savings stop being worth the visible difference — the exact trade-off is always in your hands.
PNG plays by different rules. It is a lossless format: every pixel is preserved exactly, so there is no quality dial to turn — the slider simply does not apply to PNG output. Re-encoding still squeezes out redundant data, but expect modest savings (often 5–20%) rather than dramatic ones. If a PNG refuses to shrink, that is the format working as designed, not a bug.
Choosing the right output format
"Keep original format" is the safe default — files get smaller without changing type. For photographs, JPEG remains the universal choice: everything opens it. WebP is the modern sweet spot for the web, typically 25–35% smaller than JPEG at the same visual quality, and every current browser supports it. PNG is for graphics where crispness is non-negotiable — screenshots, logos, diagrams, text — because lossy formats smear sharp edges. A good rule of thumb: photos to JPEG or WebP, graphics with text to PNG.
Reading the savings
Each file shows "original → compressed" with the percentage saved, so you can spot which images benefited most. The total bar sums the whole batch — handy when you are optimizing a folder of assets for a website. As a rough guide: quality 90+ is near-lossless, 75–85 is the sweet spot for web photos, and 60–70 works for thumbnails and previews where files must be tiny. Below 50, blocky artifacts usually become obvious — but try it yourself; the preview of the numbers is instant and free.
Frequently asked questions
How does image compression work here?
For JPEG and WebP output, the image is re-encoded at a lower quality setting: the encoder discards fine detail your eyes barely notice, which shrinks the file dramatically. Metadata like camera EXIF data is also dropped. PNG output is always lossless — it is re-encoded more efficiently but keeps every pixel, so savings are modest. Everything happens locally in your browser.
Which output format should I choose?
Keep "original format" if you just want smaller files without changing types. JPEG is best for photographs and has universal support. WebP usually gives the smallest files at equal quality and is supported by all modern browsers — ideal for websites. PNG is the right choice for screenshots, logos, and graphics with sharp text or flat colors, where you need pixel-perfect crispness.
Will compression visibly reduce quality?
At the default quality of 80, most photos look identical to the original while shrinking 50–80%. Quality is subjective, so zoom into the results: if you see blockiness or smearing in smooth gradients, nudge the slider up. The slider re-compresses everything live, so you can find the smallest size you are happy with. PNG output never loses quality at any setting.
Why did my PNG barely get smaller?
PNG is a lossless format — the quality slider does not apply to it, because there is no quality to trade away. Re-encoding can only squeeze out modest savings. If you need a much smaller file and your use case allows it (web images, sharing), switch the output format to WebP or JPEG instead; both will be dramatically smaller.
Are my images uploaded anywhere?
No. This compressor is 100% client-side: decoding, re-encoding, and ZIP building all run in your browser on your own device. Your images never touch a server, there is no account or queue, and it keeps working offline once the page has loaded.