Image Compressor & Converter
Resize and recompress images to WebP, JPEG or PNG with a live size comparison. Your photos stay on your device the whole time.
No image loaded yet.
| Load an image, then press Compress. |
Your photos carry more than pixels
A JPEG straight out of a phone contains EXIF metadata: the camera model, the lens, the shutter settings, the timestamp, and — unless you turned it off — the GPS coordinates where the photo was taken. Every image you have ever uploaded to a photo-sharing service has potentially handed over a location history.
Uploading an image to an online compressor means sending all of that to a stranger's server along with the picture. Even a service that deletes the file afterwards still has to receive it first.
This tool loads the file with a blob URL, draws it onto a canvas, and re-encodes from there. A canvas holds pixels only — metadata, colour profile quirks and GPS are dropped as a side effect of how the browser works, not because of a setting you have to remember to enable. No bytes leave your machine.
Lossy, lossless, and where the quality slider belongs
Lossless compression (PNG) reconstructs the image exactly. It works by finding redundancy — repeated runs, predictable gradients — and describing it more cheaply. It is the right choice for screenshots, diagrams, and anything with text or hard edges, and the wrong choice for photographs, where it typically saves very little.
Lossy compression (JPEG, WebP) throws information away permanently, prioritising detail the human eye is bad at noticing. The two things it exploits are that we resolve brightness far better than colour — so colour is subsampled, stored at half or quarter resolution — and that fine texture in smooth areas is barely visible.
| Quality | Typical result | Use for |
|---|---|---|
| 90–100 | Barely smaller, artefacts rare | Archiving, print |
| 75–85 | The sweet spot — large saving, artefacts invisible at normal viewing size | Web pages, almost everything |
| 60–70 | Visible softening in detailed areas | Thumbnails, previews |
| below 50 | Obvious blocking and colour bleeding | Only when bandwidth is genuinely critical |
The single most effective thing you can do is usually not the quality slider at all: it is resizing. A 4000-pixel-wide photo displayed in a 800-pixel column is carrying twenty-five times the pixels it needs. Dropping the dimensions before touching quality typically saves more bytes with no visible loss.
Re-encoding is cumulative and irreversible. Saving a JPEG at quality 80, then opening that file and saving it again at quality 80, does not keep quality 80 — the second pass compresses the artefacts produced by the first. Always go back to the original file, never to an already-compressed copy, and keep the original.
WebP versus JPEG versus AVIF
WebP is typically 25–35% smaller than JPEG at equivalent perceived quality, supports transparency like PNG, and is supported by every current browser. It is the sensible default for the web today.
AVIF compresses better still, but encoder support in browsers is newer and encoding is slow enough that doing it in a browser on a large photo is unpleasant — which is why it is not offered here. JPEG remains the right answer when you need to hand a file to a tool or a person who may be running something old.
The encoder your browser uses is not the same encoder a server would use, so byte sizes here will differ slightly from what a build pipeline produces. The relationship between settings is what transfers.
Frequently asked questions
Does this strip the GPS location from my photo?
Yes. Drawing to a canvas keeps only pixel data, so EXIF — including GPS coordinates, timestamp and camera serial — is not carried into the output. This is inherent to the approach rather than a checkbox.
Why is the compressed file sometimes bigger than the original?
The source was probably already well compressed, or you selected PNG output for a photographic image. PNG is lossless and often larger than a good JPEG. Try WebP or JPEG at 80 for photos.
Is transparency preserved?
With WebP and PNG output, yes. With JPEG, no — JPEG has no alpha channel, and transparent areas are filled with white before encoding.
What is the largest image I can process?
It depends on your device's memory, not on this page. Very large images — much above 30 megapixels — may fail to decode on low-memory phones. Downscaling a huge photo usually has to happen before it reaches the browser.
Privacy. The image is decoded and re-encoded by your browser. No upload, no request, no server ever sees your file.