Compress JPG, PNG and WebP Images Down to a Smaller Size

Shrink one image or a whole batch using a quality slider and an optional maximum width.

About the Image Compressor

Drop in a set of images and this tool re-encodes each one at the quality you choose, reporting the combined size before and after along with the percentage saved. The quality slider spans 5 to 95 percent and starts at 70. You can send the output to JPG for the strongest compression, to WebP for smaller files again on modern browsers, or leave it matching the input. There is also an optional maximum width, which downscales anything wider before encoding.

That width box is usually the setting that matters most. A photo straight off a phone can be four thousand pixels across while the place it is going shows it at twelve hundred, and no amount of quality reduction beats simply not storing pixels nobody sees. If you have been looking for a private image compressor that does not push your photos through somebody's upload form, everything here is done by the browser's own canvas encoder.

Key Features

  • Whole batches at once: Add as many images as you like; anything beyond a single file is also offered back as one ZIP archive.
  • Quality from 5 to 95: The slider defaults to 70, and dropping to around 50 is usually still fine for web use.
  • Three output formats: Choose JPG for maximum compression, WebP for smaller files at similar quality, or keep the input format.
  • Optional maximum width: Set a ceiling in pixels and oversized images are scaled down before encoding, which saves far more than quality alone.
  • Reports the real saving: You get the combined original size, the new size and the percentage difference rather than a vague confirmation.

How to Use the Image Compressor

  1. Add one or more images — JPG, PNG, WebP, GIF and BMP are all accepted.
  2. Set the quality slider; 70 is the default and around 50 to 60 suits most web images.
  3. Pick the output format, or leave it matching the input.
  4. Optionally type a maximum width in pixels to downscale large photos first.
  5. Compress, then download the images individually or as a single ZIP.

How It Works

No compression library is involved. Each file is decoded by the browser's own image decoder, drawn onto a canvas, and re-encoded through canvas.toBlob at your chosen quality; only the optional ZIP uses a library, and that copy of JSZip is served from this domain. Three behaviours follow from using the canvas. PNG inputs are switched to JPEG when you leave the format on automatic, because re-encoding a PNG almost never makes it smaller. JPEG output has no alpha channel, so a transparent background is flattened onto white — pick WebP if you need transparency preserved. And because the image is redrawn from raw pixels, EXIF metadata including any GPS coordinates is dropped from the result, which is often a welcome side effect.

When You Need It

A clinic photographing completed intake forms before filing them into a records system ends up with dozens of multi-megabyte images that the system rejects. Those photos carry names, dates of birth and health information, so feeding them through a free compression site would be a disclosure in its own right, whatever the site's policy says. Estate agents batching property photos before a portal upload, and anyone trimming a portfolio page that takes eight seconds to load on mobile, want the same result for less sensitive reasons.

FAQ

Frequently Asked Questions

Why did my PNG come back as a JPG?
When the format is left on automatic, PNG inputs are converted to JPEG, because re-encoding a PNG as a PNG rarely produces a meaningful reduction. If you need the PNG format kept, choose it explicitly, though expect a far smaller saving.
My logo lost its transparent background — what happened?
JPEG cannot store transparency, so anything transparent is filled with white during encoding. Set the output format to WebP instead and the alpha channel survives the compression.
What quality setting should I actually use?
Start at the default of 70. For images heading onto a web page, 50 to 60 is usually indistinguishable at normal viewing size while cutting the file substantially. Below about 40 you will start to see blocking around edges and text.
Should I reduce quality or set a maximum width?
Set the width first. Halving an image's dimensions removes three quarters of its pixels, which almost always beats what the quality slider can achieve on its own. Use both together for the largest reduction.
Are the photographs sent to a server to be processed?
They are not. Decoding and re-encoding both happen in the browser through the canvas API, so the pixel data never leaves the device. As a bonus, the re-encode discards embedded EXIF data, so any location tag baked in by the camera does not survive into the compressed copy.