Online Image Compressor

jpg · png · webp

Make JPG and PNG images smaller with a quality slider and an optional size cap. Your browser compresses them in this tab, so they are never uploaded.

Settings
QueueNothing is uploaded
Drop images here to compress them
Compressing…

About this image compressor

The compressor re-encodes each image in your browser. JPG and WebP images are saved as JPG at the quality you choose. PNG images stay PNG and keep their transparency. For those, the quality setting decides how many colours are kept, from 256 down to 16, and UPNG.js writes the smaller file.

You can also scale the longest side down to 1920, 1280 or 800 pixels, which often saves more than a lower quality does. If a JPG or PNG would not come out any smaller and was not scaled down, you get the original file back instead of a bigger copy.

How to use it

01

Add your images

Drop JPG, PNG or WebP files on the box above, or pick them with Select images. You can add several at once.

02

Choose the settings

Set Quality between 10% and 95% (it starts at 75%). To shrink the pixel size too, pick a maximum size for the longest side.

03

Compress

Click Compress images. The images are compressed one after another, and each row shows the size before and after.

04

Download

Save each image with its Download button, or get them all at once with Download all (ZIP).

What it does

  • Your browser compresses the images, and no request carries them to a server.
  • JPG and WebP images are saved as JPG at the quality you set, from 10% to 95%.
  • PNG images stay PNG, transparency included, with a palette of 16 to 256 colours depending on the quality.
  • The size cap scales the longest side down to 1920, 1280 or 800 pixels and keeps the proportions. Images that are already smaller keep their size.
  • If a JPG or PNG would not get any smaller and was not scaled down, you get the original file back.
  • You can compress many images in one go and download them together as a ZIP file.

Specifications

Specification Details
Accepts JPG, PNG and WebP images, several at a time
Output JPG from JPG and WebP, PNG from PNG
Quality 10% to 95%, 75% by default. For PNG it sets 16 to 256 colours (128 at 75%).
Maximum size Original, or 1920, 1280 or 800 px on the longest side
File size limit 100 MB per image
Encoding The browser's canvas encoder for JPG, UPNG.js for PNG
Libraries UPNG.js 2.1, pako 2.1 and JSZip 3.10, loaded from the cdnjs CDN when needed
Where your images go Nowhere. They stay in this tab's memory.
Good to know

What the compressor does not do

It makes files smaller by re-encoding them and, if you ask, by scaling them down. Some jobs need a different tool.

No WebP output

WebP images come back as JPG, with transparent areas filled in white, and the JPG can be larger than the WebP was. To make WebP files, use JPG to WebP or PNG to WebP.

Fewer colours in PNG files

Photos and smooth gradients saved as PNG can show banding once they are cut down to 256 colours or fewer. Convert photos with PNG to JPG first and compress the JPG instead.

No file size target

You can't ask for a result under a set number of KB. Pick a quality, check the new size in the queue, and try again with other settings if needed.

No exact dimensions

The size cap only has three presets for the longest side. To set an exact width and height, or crop to a size, use Image resizer.

Related tools

Frequently asked questions

No. Your browser compresses them inside this tab. The only downloads are libraries from the cdnjs CDN: UPNG.js and pako when you compress a PNG, and JSZip when you download a ZIP. No request carries your images.

For JPG and WebP images it sets the JPG quality. For PNG images it sets how many colours are kept: 256 from 80% up, 128 from 60%, 64 from 40%, 32 from 20% and 16 below that. Lower settings give smaller files and more visible loss.

When a JPG or PNG would not get smaller at your settings and was not scaled down, the tool gives you the original file rather than a bigger copy. Lower the quality or choose a maximum size, then compress it again.

PNG images keep it. WebP images are saved as JPG, which has no transparency, so their transparent areas turn white.

Yes, from every image it re-encodes. The new file has no camera details, dates or GPS location. The only exception is an image handed back unchanged because compressing it would not have made it smaller.

Each image can be up to 100 MB. There is no limit on how many you add, but they are compressed one at a time, so a long queue takes a while.

Your images stay on your device

Your browser decodes and re-encodes each image inside this tab. The images are not uploaded or stored anywhere, and closing the tab clears them from memory. Only the PNG and ZIP libraries are downloaded, from cdnjs, when they are needed.