HandyBench

Image Compressor

Shrink image file size with live preview.

How to use the Image Compressor

  1. 1 Upload an image.
  2. 2 Adjust the quality slider and watch the file-size estimate.
  3. 3 Download the compressed image.

What this compressor does

This page does not run a dedicated optimiser such as MozJPEG or Oxipng. It decodes your image, draws it onto a canvas at its full original dimensions, and re-encodes it as JPG or WebP at the quality you choose with the slider (10% to 100%, default 70%). Each time you move the slider or switch the output format, it recompresses and updates three readouts: the original size, the new size, and the percentage saved. The saved figure shows 0% when the output is not smaller than the original, never a negative number.

Pixel dimensions never change here. Only the amount of detail kept per pixel changes, so for a big saving on a huge photo you may also need the Image Resizer.

Worked example

A 3.2 MB phone photo is loaded. At the default 70% JPG, it might come out near 640 KB, a saving of 80%. Moving to 90% could land around 1.4 MB, a saving of 56%. Those are illustrative numbers; the real result depends on the picture. The reliable method is to lower the slider until you can see degradation in the details that matter, such as faces or text, then step back up by one or two notches and download it as photo-compressed.jpg (or .webp), named after your original file.

Choosing the output format

JPGWebP
Transparent PNG inputTransparency replaced by whiteTransparency kept
Typical size at the same lookLargerSmaller
CompatibilityEverywhereModern browsers and apps

There is no PNG output. A PNG you drop in leaves as a JPG or WebP, which is why the saving can be dramatic for screenshots and photos alike, and also why sharp text edges may look slightly fuzzy at low quality.

Limits and mistakes

  • Compressing a file that is already small. A well-optimised JPG may grow after a re-encode at a high slider value, since the browser re-quantises from scratch. Watch for a Saved value of 0%.
  • Re-compressing repeatedly. Each JPG pass is lossy. Start from the original each time instead of feeding the previous result back in.
  • WebP in Safari. Canvas WebP export is not available in every browser. When the browser falls back to PNG, the tool names the download .png and shows a notice, so you are never handed a PNG disguised as a WebP.
  • One image at a time. Batches are not supported.
  • Metadata is removed. Camera EXIF and GPS location are not preserved in the output, a side effect that can help when sharing photos.

For choosing sizes and formats for a whole website, the guide How to Compress and Convert Images for the Web goes deeper, and Image to WebP offers a dedicated WebP workflow.

Examples

  • ▸ A 3.2 MB phone photo compressed at 70% JPG to roughly 600 to 700 KB, an 80% saving.
  • ▸ A transparent PNG compressed as WebP at 80% so the transparency is kept.
  • ▸ A PNG screenshot compressed as JPG with a white fill replacing the transparent area.

Frequently asked questions

How much smaller will my image get?

It depends on the image, but photos often shrink 50% to 80% with little visible loss when exported as JPG or WebP. The Original, Compressed and Saved readouts update with every slider move.

Does compressing reduce quality?

Yes, both output formats are lossy. Lower slider values discard more detail, so reduce it until you notice a difference and then step back up a notch.

Can I compress a PNG and keep it as PNG?

No. This page outputs only JPG or WebP, so a PNG you add is converted. Choose WebP to keep transparency, or JPG to get a white background.

Why does Saved show 0%?

The re-encoded file is not smaller than the original, which can happen with an already optimised JPG or a high quality setting. Lower the slider or choose WebP.

Does compression change the image dimensions?

No. The pixel width and height are unchanged. Use the Image Resizer when you also want fewer pixels.

Are my images uploaded to a server?

No. Compression is done by your browser on your own device, so the image is never sent anywhere.

Related guides