Compress an Image
Make the file smaller without sending it anywhere.
Runs entirely in your browser
Loading the tool…
Your file is opened by this page and never uploaded. Nothing here talks to a network.
| Original | — |
|---|---|
| Difference | — |
| Metadata | EXIF and GPS removed by re-encoding |
Pick a photo and it is compressed here, in this page. Every other tool that does this uploads your file to a server first. This one cannot, because there is no server and no network code in it. Turn your connection off and it still works, which is a claim you can check rather than take on trust.
That matters more than it sounds. The images people compress are passport scans, proof of address, medical forms and job applications, usually because some upload form insists on 200 KB or less. Compress to a size does exactly that: it searches the quality setting until the file lands just under your target.
Fewer pixels is the other way to a smaller file, so there is a resize here too, by long edge, for when quality alone will not get you under the limit. If the pixel size is the point rather than the file size, Resize an image takes an exact width and height instead.
Resizing uses a Lanczos filter rather than the browser's own scaler, which is fast but soft, with an optional sharpening pass afterwards. The quality figure tells you what the compression actually cost: above 40 dB the difference is invisible. Re-encoding also drops all EXIF metadata, including the GPS coordinates your phone wrote into the file.
How to use it
- Choose an image. Nothing is uploaded when you do.
- Pick a quality, or switch to 'to a file size' and set your limit.
- Resize the long edge if you also need fewer pixels, then download.
Questions
Is my photo uploaded anywhere?
No. The page reads the file through your browser and does the work in WebAssembly on your own machine. There is no server behind this and no network request in the code, so disconnect and it still works, which is how you can verify it rather than believe it.
How do I get a file under 200 KB?
Switch to 'to a file size' and set the target. It encodes repeatedly, narrowing the quality each time, and keeps the largest result that fits. If even the lowest quality is too big, reduce the pixel size as well, which is usually what the form really needs.
Which format should I choose?
JPEG for photographs. WebP for the same picture at roughly 25-35% smaller, supported everywhere current. PNG only when you need lossless quality or transparency, because it will usually be far larger for a photo.
Does it remove EXIF and location data?
Yes, as a side effect of re-encoding: the new file is built from pixels alone, so the camera model, timestamps and GPS coordinates your phone embedded do not survive. That is worth knowing before you post a photo taken at home.
What does the dB figure mean?
Peak signal-to-noise ratio, comparing the compressed image against the original pixel by pixel. Above about 40 dB nobody can see the difference; below 30 it starts to show as blockiness. It is measured, not estimated.
Why does resizing look sharper here?
The browser's built-in scaler is optimised for speed and loses detail when shrinking a lot. This uses a Lanczos filter, which weighs a wider neighbourhood of pixels, followed by a light sharpening pass to restore the bite a downscale costs.
Your data stays on your device
Everything above runs inside your browser as WebAssembly compiled from Rust. Nothing you type is uploaded, logged or stored on a server. There is no server. You can load this page once, go offline, and it still works.