Compress Images

Compress JPG, PNG and WEBP images to reduce their file size, one or many at a time, in your browser.

Your files stay on this device. Nothing is uploaded. How to check

Advertisement

How to use Compress Images

1. Add one or more JPG, PNG or WEBP images (up to 150 MB each). Use + Add More Images to extend the list, or the remove button next to a file to drop it.
2. Choose a JPEG quality (High 85%, Balanced 70% or Small file 50%) and a value for Resize longest side to (keep original size, 2048, 1600, 1200 or 800 px).
3. Click Compress All Images. One image downloads on its own; several come back as a ZIP named compressed_images.zip, and the message shows the total size before and after.

Key features of Compress Images

🖼️ PNG stays PNG

A PNG is re-encoded as PNG, so transparent areas survive and the saving comes from resizing. JPG and WEBP files are re-encoded as JPEG at the quality you chose.

📏 Resize the longest side

Cap the longest side at 2048, 1600, 1200 or 800 px, or keep the original size. Fewer pixels means fewer bytes whatever the quality setting, so this is the option to try first on large photos.

⚖️ Never makes a file bigger

Each result is compared with its original. If it would not be smaller, the original is kept unchanged and the result message says how many files were kept as they were.

About Compress Images

Compress Images decodes each file with the browser's own image decoder, draws it onto a canvas at the size you chose, and re-encodes it: PNG to PNG, everything else to JPEG at the quality you set. Every output is compared with its input and used only if it is smaller. When there is more than one result they are packed into a single ZIP with JSZip.

It is useful for photos that need to fit under an upload limit, screenshots for a support ticket, or product pictures for a web page. Because the image is redrawn from its pixels, metadata such as EXIF is not carried over. A small, already-optimised image may not shrink at all at the High setting; choose a lower quality or a smaller size and run it again.

When to use Compress Images

A set of phone photos for a rental listing or an insurance claim is the typical job: each photo is far larger than any screen and the form has a per-file limit. Add all of them at once, keep the defaults (Balanced quality, longest side 2048 px) and click Compress All Images; one ZIP comes back, with the total before and after in the message.

PNG screenshots for a bug report behave differently: the quality selector does nothing for a PNG, so the only lever is the resize option. Shrinking a full-screen capture to 1200 px keeps the layout readable but makes small interface text hard to read; if the text must stay legible, choose Keep original size and accept that the file may come back unchanged. This tool will not turn a PNG into a JPEG.

WEBP files saved from a website that another program refuses to open are re-encoded as JPEG here, so the result is a .jpg. The catch is that the JPEG has to be smaller than the WEBP to be kept, and WEBP is already compact, so pick a smaller maximum size or a lower quality to make that happen. If a file is kept unchanged, it is still a WEBP.

For images inside a PDF, use Compress PDF, which re-encodes them in place. If the images are going to become a PDF, compress them here first and then hand the results to JPG to PDF or PNG to PDF: those tools embed each file as it is, so a smaller input gives a smaller document.

Tips and troubleshooting

  • The picker lists every image type, including ones other than JPG, PNG and WEBP. Anything your browser can decode is processed, and everything except PNG is written as JPEG: an animated GIF keeps only its first frame, and transparent areas in a GIF or WEBP are lost, because JPEG has no transparency.
  • A file the browser cannot decode (a camera RAW file, or HEIC in most browsers) stops the whole run with "Failed to compress images". Try Again reloads the page and empties the list, so leave that file out and add the others again.
  • Resize only shrinks. An image whose longest side is already below the value you chose keeps its pixel size; nothing is enlarged.
  • A single result downloads as compressed_ plus the file name, with the extension changed to .jpg when it was re-encoded as JPEG (photo.webp becomes compressed_photo.jpg). A file kept unchanged keeps its original name with no prefix, inside the ZIP too, which is how you can tell which files shrank. When two results in the ZIP would get the same name, the second gets (2) added, so photo.jpg and photo.webp become compressed_photo.jpg and compressed_photo (2).jpg.
  • Preview Document appears only when the result is a single image; a ZIP has no preview. The limit is 150 MB per file, + Add More Images appends to the list, and the drop zone only comes back when you remove every file.
  • Is the file a PDF rather than a picture? Compress PDF has a Target size option; how to compress a PDF to a specific size explains it with measured results.

How Compress Images works in your browser

Each file is handed to createImageBitmap, the browser's own decoder, so no image library is needed for this step. The tool scales the bitmap's width and height down if the longest side exceeds the value you picked, draws it onto a canvas of that size and closes the bitmap. The canvas is exported with canvas.toBlob, as image/png for a PNG input and as image/jpeg at your chosen quality for everything else. The new Blob's size is compared with the original file's; if it is not smaller, the original file is used as the result, then the canvas is cleared and the next file starts.

With one result, the Blob itself is offered for download. With several, JSZip, the only library this page loads from a CDN, builds the archive in memory and stores each file as it is. Download File saves the result through a temporary object URL created in your browser. No request carrying an image is made at any point: the files you chose, the canvases and the finished ZIP exist only in the tab's memory and are gone when you close or reload it.

Frequently asked questions

Will PNG transparency be lost?

No. A PNG is written back as PNG, so transparent areas are kept. Every other format, including JPG, WEBP and GIF, is written as JPEG.

Why did an image come back unchanged?

Re-encoding it at your settings would have produced a larger file, so the original was kept. Try a lower quality or a smaller maximum size.

What does the JPEG quality setting do?

It sets how much detail the JPEG encoder may discard: High (85%) keeps the most, Balanced (70%) is the default, and Small file (50%) gives the smallest files with some visible softening. It has no effect on PNG files.

Can I compress many images at once?

Yes. Drop or pick several files, add more with + Add More Images, and they are processed one after another with the same quality and size settings. Each file can be up to 150 MB, and the results come back as a single ZIP.

Will it convert my PNG to JPEG?

No. A PNG goes in and a PNG comes out, so any saving has to come from the resize option. A PNG that is already small may be kept unchanged because the re-encoded copy would not be smaller.

Does it remove the location and camera data from my photos?

A re-encoded photo carries none of it, because the image is rebuilt from its pixels on a canvas. A photo that was kept unchanged, because it would not have got smaller, is your original file and still contains its EXIF data, including any GPS location.

Last reviewed