Compress an image to 100 KB
What this tool does
This page starts with 100 KB already in the target box, so you can drop a file and let the compressor find the best quality that still fits under it.
Pre-set for you: a 100 KB target file size per image. You can change it before you drop a file.
This browser cannot run the compressor. It needs Web Workers with OffscreenCanvas support, and we will not fall back to processing on the main thread because that would freeze the page. Please try a current version of Chrome, Edge, Firefox or Safari.
- Saved
- —
- Dimensions
- —
- Quality
- —
How this works
Your images are decoded and re-encoded inside a Web Worker in this browser tab, so the page stays responsive and the files never reach a server. There is no backend, no queue and no account.
- The original files stay on your device from start to finish.
- A target file size searches for the highest quality that fits under it, per image. If an image cannot get that small, you still get the smallest one we could make and a note saying so.
- Max width and height shrink the pixel dimensions first, which often saves more bytes than quality alone.
- Drop several images at once and the finished ones come back together in a single ZIP.
- Nothing is stored: reloading the page discards everything.
A 100 KB request usually comes with a hard ceiling attached: a form that will not accept the upload, a message with an attachment budget, or a page where a hundred small images have to add up to something reasonable. The ceiling is what this page is configured for — 100 is already in the target box, so dropping a file is the whole interaction.
What that target size actually does is run a short search. The compressor encodes your image across a range of quality settings and keeps the highest one whose output still lands at or under 100 KB. You are not picking a quality number and hoping; the file size you asked for is the thing being solved for. The setting it settled on is printed in the result panel, so you can see how much room it had.
Two outcomes are worth knowing before you start.
- It came in under 100 KB. That is the normal case, and it means the search found the last setting that fitted. The file is as close to the ceiling as the encoder could get without crossing it.
- It could not reach 100 KB. This happens with large or busy images. You still get the smallest file the tool can produce, plus a plain message saying how far over it landed, rather than a quiet overshoot you only discover when the upload fails.
If you land in the second case, the fix is almost never to demand more compression. Quality is one lever, and it stops being useful somewhere around the point where the picture turns to mush. The lever that still works is pixels: set a max width or a max height and you get a genuinely smaller image, which then compresses far further. A photograph that has to sit under 100 KB usually gets there with its long edge cut to somewhere near 1000 to 1200 pixels, and looks much better than the same photo crushed by quality alone.
One last thing to check before you send the file: the output format. WebP is the default because it is normally the smaller of the two at the same visual quality. If the place you are uploading to only takes JPEG, choose JPEG in the format selector first and let the search work from there. Every format in that list is one this browser proved it can really write.
Frequently asked questions
What happens if my image cannot get down to 100 KB?
You get the smallest file the encoder can make, plus a message stating how far over the target it finished. The tool never silently hands you something above the size you asked for without saying so.
Will it always be exactly 100 KB?
No, and it aims to be just under instead. The search keeps the highest quality setting that stays at or below 100 KB, so the result is usually a little smaller — a file that fits is worth more than a file that matches the number exactly.
Can I compress a whole batch to 100 KB each?
Yes. Every image gets its own 100 KB budget and its own progress bar, and the finished files download together as a single ZIP.
Does compressing to 100 KB reduce the image dimensions?
Not on its own — the pixel dimensions are untouched unless you set a max width or height. Compression spends bytes, not pixels, which is why the pixel controls are the stronger lever when a target is out of reach.
Compress Image with different settings
Drop one image or a whole batch and optionally set a target file size. The work happens inside a Web Worker in this browser tab, so your files never leave your device — and a finished batch downloads as a single ZIP.