No upload · runs on your device
Compress an image to 100KB
Drop a 2–8 MB phone photo and get a copy at or under your size limit — at the highest quality that still fits. Nothing is uploaded, there is no account, and the download is one tap.
Drop a photo, get it under 100 KB
Your image never leaves this browser tab.
How it works
JPG, PNG or WebP up to 25 MB. Tap the box on mobile and pick from camera or library — the file stays on your device.
The encoder tries six quality levels between 20% and 95%, keeps the highest one that fits, then trims upward in 3% steps.
You get name-100kb.jpg at or under your target, plus the before/after sizes. If it cannot fit, you are told why.
Built for hard form limits
Decoding, scaling and encoding all run in this tab with canvas. No server ever sees your photo, so visa photos and ID scans stay private.
The result is re-measured against your target in KB before the download link appears. If it cannot fit, you get the real achievable size instead.
PNGs with alpha switch to WebP automatically so logos keep clean edges; if you force JPEG, we flatten onto white and say so.
Phone photos are decoded with imageOrientation: from-image, so sideways selfies do not come back rotated.
Dropping a new file cancels the previous run and releases its bitmaps, so rapid drops do not crash a mobile tab.
HEIC, corrupt files and unreachable targets explain exactly what happened and what to do next — never a blank card.
FAQ
Why does my 4 MB photo not reach 20 KB?
Quality can only go so low before the image turns to mush. The tool stops at the quality floor, tells you the smallest size it can honestly produce, and offers a one-tap target instead of shrinking forever.
My iPhone photo is a HEIC file — can you convert it?
No browser can decode HEIC yet, so the tool says so instead of failing silently. Export it as JPEG from Photos (Share → Copy Photo is not enough) or set Camera → Formats to “Most Compatible”.
Which target should I use for a job or visa portal?
100 KB is the usual cap. Some portals go tighter (50 KB) or allow more (200 KB) — type whatever the form asks for and the encoder lands just under it.
Can I keep the original dimensions?
Yes — clear the max long edge box. The encoder will trade quality only, and tell you if the target is out of reach that way.
Is the compressed file really under the limit?
The final byte count is checked against your target before the download link is rendered, and the green tick states the exact size. No estimation.