Image compression

CompressSnap

Compress JPEG, PNG, WebP, AVIF and HEIC in your browser — to a quality you choose or to a size you have to hit — and see exactly what the compression cost.

No registration requiredCompress multiple images at onceConvert to WebP, JPG, or PNG

Drop images here, or click to choose

JPEG, PNG, WebP, AVIF, GIF, BMP, TIFF and iPhone HEIC. Very large images are capped to what a browser canvas can hold.

Format

This browser cannot write AVIF, so it is not offered.

Quality
80

Lower quality, smaller file. The measured loss is shown on each result.

Size budget
Resize mode
Keep goingThe image travels with you — no download, no re-upload

How it works

1

Drop the photos in

Paste, pick or drag them. They queue up — nothing is encoded until you press the button, so a folder of forty does not lock the tab.

2

Choose the trade

A quality, a size in kilobytes to stay under, a format, a maximum long edge. PNG gets a palette instead of a quality slider.

3

Let it run

Encoding happens off the main thread, so the page keeps responding while the batch works through.

4

Take the files

One by one, all of them as a ZIP, or straight into the next tool without a download.

Encodes off the main thread

A Web Worker with OffscreenCanvas does the work and the bitmaps are transferred rather than copied, so a batch of phone photos no longer freezes the tab it is running in.

Compress to a size, not a guess

Give it a kilobyte budget and it bisects the quality until the file fits, then tells you which quality it settled on and how many tries it took.

The loss is a number

Every result is decoded back and compared to its source with SSIM, so "quality 70" stops being a feeling and becomes 0.981 next to the file size it bought.

PNG that actually shrinks

Median-cut palette reduction with optional dithering. It is the only knob a PNG has — the quality argument is ignored by every PNG encoder — and it pays off on screenshots, logos and flat artwork. A photo saved as PNG is better served by converting it to JPEG or WebP, and the tool says so rather than handing back a bigger file.

The formats you actually have

iPhone HEIC and TIFF are converted on the way in, AVIF and WebP are written on the way out when the browser can, and rotation from EXIF is applied so nothing lands on its side.

Nothing leaves the tab

Decoding, encoding, the palette and the measurement all run in your browser. No API, no upload, no account.

image compressor

The image compressor that tells you what the compression cost

CompressSnap reads JPEG, PNG, WebP, AVIF, GIF, BMP, TIFF and the HEIC files an iPhone produces, and writes JPEG, PNG, WebP and AVIF back. It hits a byte budget by searching for the quality that fits, shrinks PNGs by reducing their palette rather than pretending a quality slider does anything, and measures every result against its source so the trade you made is visible.

No registration required
Compress multiple images at once
Convert to WebP, JPG, or PNG

Measured, not guessed

Every compressed file is decoded again and compared to what went in. The number is SSIM, the measure that tracks what people actually notice, and it sits next to the file size so the two can be weighed against each other.

Why compress your images?

The awkward cases, handled

A HEIC straight off an iPhone, a portrait photo whose rotation lives in an EXIF tag, a screenshot PNG that gets bigger when you push it through JPEG, a 48 megapixel frame that will not fit in a canvas — all of them are the normal case, and each one is converted, rotated, flagged or capped instead of failing quietly.

Entirely in your browser

There is no API behind this page. The decoders, the encoder, the palette reduction and the quality measurement are all JavaScript running in your tab, so a client photo that has not been published yet never leaves your machine.

Frequently Asked Questions

QIs my data sent to any server?+

No. Decoding, encoding, the palette reduction and the quality measurement all run inside your browser. An image you open here never leaves the tab.

QWhy does compressing a PNG do nothing?+

Because PNG is lossless and every encoder ignores the quality argument — the old behaviour of showing a quality slider for PNG was misleading. What does make a PNG smaller is using fewer colours, so for PNG you get a palette control instead. On screenshots, logos and flat artwork, dropping to 64 or 128 colours is invisible and often halves the file.

QCan it compress to a specific size?+

Yes. Turn on the size budget, type a number in kilobytes, and the encoder bisects the quality until the file fits — up to eight attempts. Each result shows the quality it settled on and how many encodes it needed.

QWhat is SSIM and why should I care?+

Structural similarity: a number from 0 to 1 for how close the compressed image is to the original, weighted the way human vision is. It is measured by decoding the result back and comparing it pixel by pixel. Above 0.98 almost nobody can tell; below 0.95 the artefacts start to show. It turns "does quality 70 look alright?" into something you can read off the screen.

QDoes it accept photos from my iPhone?+

Yes. HEIC and HEIF are converted on the way in, as are TIFF files, and the rotation an iPhone stores in the EXIF tag is applied so a portrait photo does not come out on its side. The old version rejected HEIC at the file picker.

QWhy did one of my images come back unchanged?+

Because compressing it would have made it bigger. That happens most often with screenshots and flat graphics pushed through JPEG at a high quality. Rather than hand you a worse file, the tool marks it and keeps the original.

QIs EXIF data removed?+

Yes — re-encoding through a canvas drops every metadata block, including GPS coordinates and camera details. The one piece that matters visually, the orientation tag, is applied to the pixels first so the image stays upright.

QDoes a big batch freeze the page?+

No. The encoding runs in a Web Worker with OffscreenCanvas and the image data is transferred rather than copied, so the page keeps responding while the queue works through. Two images are encoded at a time, which is fast without holding several full-resolution frames in memory at once.

Keywords

image compressorcompress jpeg onlinecompress pngconvert to webpconvert to avifheic to jpgcompress image to 200kbreduce image sizebatch image compressionresize images onlinepng palette reductionimage quality ssim
Part of oLoveTools suite
oLoveTools

Compress, resize and convert images in your browser, with the quality loss measured.

© 2026 oLoveToolsPrivacyTermsCookiesAbout

Next step

Convert to another format FormatFlow

CompressSnap | Compress images to an exact target size

Compress and resize JPEG, PNG, WebP, AVIF, HEIC and TIFF images. Hit a size budget in kilobytes, reduce a PNG palette, convert between formats and see the measured SSIM quality loss on every file. Runs off the main thread, uploads nothing.

Frequently Asked Questions

Is my data sent to any server?

No. Decoding, encoding, the palette reduction and the quality measurement all run inside your browser. An image you open here never leaves the tab.

Why does compressing a PNG do nothing?

Because PNG is lossless and every encoder ignores the quality argument — the old behaviour of showing a quality slider for PNG was misleading. What does make a PNG smaller is using fewer colours, so for PNG you get a palette control instead. On screenshots, logos and flat artwork, dropping to 64 or 128 colours is invisible and often halves the file.

Can it compress to a specific size?

Yes. Turn on the size budget, type a number in kilobytes, and the encoder bisects the quality until the file fits — up to eight attempts. Each result shows the quality it settled on and how many encodes it needed.

What is SSIM and why should I care?

Structural similarity: a number from 0 to 1 for how close the compressed image is to the original, weighted the way human vision is. It is measured by decoding the result back and comparing it pixel by pixel. Above 0.98 almost nobody can tell; below 0.95 the artefacts start to show. It turns "does quality 70 look alright?" into something you can read off the screen.

Does it accept photos from my iPhone?

Yes. HEIC and HEIF are converted on the way in, as are TIFF files, and the rotation an iPhone stores in the EXIF tag is applied so a portrait photo does not come out on its side. The old version rejected HEIC at the file picker.

Why did one of my images come back unchanged?

Because compressing it would have made it bigger. That happens most often with screenshots and flat graphics pushed through JPEG at a high quality. Rather than hand you a worse file, the tool marks it and keeps the original.

Is EXIF data removed?

Yes — re-encoding through a canvas drops every metadata block, including GPS coordinates and camera details. The one piece that matters visually, the orientation tag, is applied to the pixels first so the image stays upright.

Does a big batch freeze the page?

No. The encoding runs in a Web Worker with OffscreenCanvas and the image data is transferred rather than copied, so the page keeps responding while the queue works through. Two images are encoded at a time, which is fast without holding several full-resolution frames in memory at once.

Keywords

image compressor, compress jpeg online, compress png, convert to webp, convert to avif, heic to jpg, compress image to 200kb, reduce image size, batch image compression, resize images online, png palette reduction, image quality ssim