Compress an Image
Name the size the file has to fit under. Your browser does the squeezing here — the photos never leave your device.
- Nothing uploaded
- No signup
- No limits
What this tool gives you
Nothing is uploaded
The squeezing happens inside this page, on your own device. Your images are never sent anywhere, so there is nothing on a server for anyone to keep or delete later.
A size, not a guess
Name the number — 100 KB, 1 MB, your own — and each file is encoded and measured until it fits. Sliders leave you guessing; a target does not.
The format is kept
A PNG stays a PNG, transparency and all; a WebP stays a WebP. Only HEIC has to change, because no browser can write it. Nobody has to notice a format swap after the fact.
Date and location survive
For JPG the date, camera and GPS are written back into the smaller file — and their bytes are counted against your target, not added on top of it.
Batches, and no limit
Drop a folder if you like. How many photos to compress on your own hardware is your call, not mine.
It says what it cost
When quality alone cannot reach your target, the picture is scaled down — and the row tells you so. If the target is impossible, it says that too instead of quietly missing it.
How it works
- 1
Say how small the file has to be — 100 KB, a size of your own, or half of whatever it is now.
- 2
Your browser re-encodes each image until it lands under that, on your own device.
- 3
JPG, PNG and WebP keep their format. Date, camera and location are kept where the format can hold them.
Questions
- Is anything uploaded?
- No. The work happens in this page, on your own device — open the Network tab and watch: your photos never appear in a request. That is also why there is no size limit and no queue.
- How do you reach an exact size like 100 KB?
- By encoding the image, measuring the result and trying again — up to six attempts per file, each one narrowing the range. Quality drops first; only when quality alone cannot get there do the pixel dimensions come down, and the row tells you when that happened. A PNG gets five attempts rather than six, because it has one knob to turn instead of two.
- Why is my PNG only a little smaller?
- A PNG is lossless: it has no quality dial to turn. The only way to make one smaller is fewer pixels, so that is what happens here — and the file stays a PNG, keeping transparency and exact colours. Converting it to JPG would compress much harder, and would silently throw both of those away.
- Can I compress a HEIC from my iPhone?
- Yes, and it comes back as a JPG. No browser can write HEIC — there is no encoder for it — so a smaller HEIC is not something any website can hand you, this one included.
- Does it keep the date and location?
- For JPG, yes — the date, camera and GPS are written back into the compressed file, and their few kilobytes are counted against your target rather than pushing the file over it. PNG and WebP carry none of it, because the tools to write it into them do not exist in a browser. And if your phone stripped the location on the way in — Android does that when you pick through the photo grid — it comes back without one rather than with a made-up one.
- What if the target is impossible?
- You get the smallest file I am willing to make, and the row says the target was out of reach instead of pretending it was met. And if nothing I produce beats your original, you get the original back untouched.