100% on-device

Compress an image in your browser

JPG, PNG and WebP — fit one under a size limit, resize it, or convert it to WebP. Instant, because your browser's own codecs do the work. Nothing is uploaded.

How it works

  1. Drop a JPG, PNG or WebP. No engine to download — the browser already has the codecs, so this tab is ready the moment it loads.
  2. Fit under a size, or set a quality. Type a limit (100 KB · 200 KB · 500 KB · 1 MB are one tap) and it searches for the setting that lands under it. Optionally convert (Auto picks WebP) and cap the long edge.
  3. Download. Re-encoded on a canvas in your own browser, in milliseconds.

In our own test, a 2400×1600 photo of 1.86 MB, capped at 200 KB, came out as a 193 KB WebP — 89% smaller.

JPEG quality and pixel dimensions fail in different ways

The quality dial scales the quantisation tables applied to each 8x8 DCT block. Push it low and neighbouring blocks stop agreeing at their edges - that is the blockiness - while sharp lines gain a halo, because a hard edge needs exactly the high-frequency coefficients that have just been zeroed. Resampling instead removes pixels before encoding, leaving less to describe at a quality worth keeping.

JPEG also stores colour at half resolution in each direction while keeping brightness full. In a photograph that is invisible. On red text, a thin coloured rule or a screenshot of an interface it smears, which is why one setting can flatter a holiday photo and ruin a picture of a spreadsheet.

A PNG screenshot is the opposite problem to an oversized photo

PNG is lossless: filtered scanlines through DEFLATE. It excels at flat areas and hard edges - a UI of solid panels - and is poor at photographic grain, where no two pixels match and there is no redundancy for the filters to find. A photo stored as PNG is huge for no gain, and a screenshot stored as JPEG looks bad. The pairing is usually backwards.

Transparency is the only thing that forces the decision, since JPEG has no alpha channel and will hand you a background. WebP covers both cases, with a lossy mode more efficient than JPEG and alpha available either way. And a screenshot from a high-density display is twice the linear size it was shown at, so capping the long edge often costs nothing visible at all.

Questions

Are my photos really not uploaded?

Yes — and not as a policy, as a fact of how it is built. There is no upload endpoint: the file is read straight into this browser tab and compressed by code running on your own machine. You can watch the Network tab while it works, or pull your Wi-Fi out mid-compression and it will still finish. Nothing is stored, nothing is queued, and there is no account.

Does it strip EXIF and GPS data?

Yes, as a side effect of how it works: the image is decoded to pixels and re-encoded, and the metadata block does not survive the round trip. The camera model, the timestamp and the GPS coordinates of your house are all gone from the file you download. Rotation is the one thing that is deliberately kept — it is baked into the pixels, so the photo cannot come out sideways.

Will a tight limit make my photo look blocky?

It will lose pixels before it loses quality. Most tools crank the JPEG quality down until the file fits, which is what produces that mushy, blocky look. This one squeezes quality only to a sane floor, and if the file is still too big it shrinks the dimensions instead — a smaller sharp photo beats a full-size smeared one.

Why did my PNG not get smaller?

PNG is lossless: there is no quality dial to turn, so the only way to shrink one is to make it smaller in pixels — or to stop being a PNG. If it is a photo or a screenshot without transparency, save it as JPG or WebP and the difference is enormous. If the re-encode would not actually beat your original, the tool says so and gives you the original back.

Which format should I pick?

Leave it on Auto — it picks WebP, which is smaller than JPEG at the same quality and is supported by every current browser. Choose JPG only when something old and specific must read the file.

Other formats

The same workbench handles all of them — pick a tab above, or start from its own page:

All six engines on one page →