📸 Image Compressor

Make a photo smaller by lowering quality and, if needed, the width. The work stays in your browser.

Free Instant results No sign-up needed

Reduce the file size of a JPG, PNG or WebP in your browser. The image is not uploaded.

Drop your image here

or

Maximum file size: 20MB. Processed on your device — we never receive a copy.

80%

Photos wider than this are scaled down first. Leave empty to keep the original width.

Output format

🖥️
Runs locally
⚡
No upload
🎚️
Quality control
🧹
Metadata stripped

One image, 20 MB. The browser draws it on a canvas, optionally scales so width does not exceed the Max width field (default 1200 px), then canvas.toBlob as JPG, WebP, PNG, or AVIF. Quality 1–100 applies to every format except PNG (slider hides for PNG). Compress & Download saves locally. Nothing is uploaded.

Why width usually beats the quality slider

A 4000 px phone photo served at 800 px still contains unused pixels. Capping width at 1200 typically saves more bytes than dragging quality from 90 to 70. Quality is not “percent of file size”: at 80 most photos look fine; at 50, sky and skin posterise. There is no target-kilobyte field.

Format trade-offs on this page

  • JPG — default photos, no alpha.
  • WebP — often smaller, can keep transparency.
  • PNG — lossless; re-saving PNG here rarely shrinks an existing PNG.
  • AVIF — smallest in modern Chrome/Firefox; older browsers may fail the blob. Fall back to WebP.
  • GIF — first frame only.

EXIF

Canvas export does not copy GPS or camera tags. Keep the original if you need metadata. Repeat lossy encodes stack artefacts.

Further reading

How to Compress Images Without Losing Quality.

Compression questions

What quality setting should I use?

Start at 80. For web pages, 75 to 85 is the range where photographs still look clean and the file is meaningfully smaller. Use 90 or so if you will print or crop later. Below 60, blocky patches show up in skies and skin.

How do I get a photo under 100 KB or 200 KB?

There is no “target kilobytes” control, because JPEG size depends on the picture. Set a max width that matches how the image will be shown (800 or 1200 px is typical), then drop quality until the download is small enough. A 12-megapixel phone photo often needs both steps.

Why does reducing the width help more than the quality slider?

File size tracks pixel count first. A photo shown at 800 px wide does not need 4000 px of data. Scaling it down removes most of the weight; quality then trims what is left.

Will a transparent PNG stay transparent?

Only if you export as PNG or WebP. JPG and AVIF have no alpha channel, so transparent areas become a solid background. PNG export is lossless, so it may not shrink much; WebP is the usual middle ground when you need both size and transparency.

Can I compress several images at once?

No. This page handles one image at a time.

Can I undo the compression later?

No. JPG, WebP and AVIF are lossy. Keep the original file. Running an already-compressed image through again makes it worse each time.

Is my image uploaded to a server?

No. Your browser draws the image onto a canvas and re-encodes it locally. The file never leaves the device. Re-encoding also drops EXIF data such as GPS and camera settings.

Need exact pixels instead?

Resizer sets width/height; PDF compress is for documents: Image Resizer, PDF to Image, Compress PDF. Browse the full Image Tools set or the all tools hub.