Why 100KB is the number so many forms ask for
100KB shows up constantly on exam board portals, visa application systems, government e-services and job boards — and it's rarely a considered design choice. Most of these systems were built years or decades ago on infrastructure with tight storage and bandwidth budgets, and 100KB was a comfortable ceiling for a small ID-style photo at the time. The underlying system was never rebuilt, so the limit is still enforced long after storage stopped being the constraint it used to be. Whatever the reason, the form doesn't care why the limit exists — it just rejects anything over it.
What actually fits comfortably under 100KB
| Photo type | Realistic result at 100KB |
|---|---|
| Passport/ID-style headshot, ~600–800px wide | Clean, no visible compression |
| General portrait, ~1000px wide | Good quality, minor softening on close inspection |
| Full-resolution phone photo (3000px+) | Needs cropping or scaling first — quality alone can't get there cleanly |
| Scanned document or screenshot | Text edges suffer; scale dimensions down rather than pushing quality lower |
Getting a clean result at exactly 100KB
Crop first. A tight crop around just the subject — your face for an ID photo, the product for a listing — gives the compressor far fewer pixels to spend the 100KB budget on, which means more of that budget goes to quality rather than detail you didn't need anyway.
Lower the minimum width if quality alone won't get there. This tool holds your image at its current dimensions and searches for the best quality setting first; only if that search can't reach 100KB does it start scaling the image down, and it will never go below the minimum width you've set. If your result keeps missing the target, that field is usually the fix — drop it from 640px to something like 400–500px and run it again.
Start from the original file, not a copy that's already been compressed once. JPEG compression is lossy, and doing it twice stacks artefacts that a single careful pass wouldn't produce. If you have the original photo from your camera or phone, use that instead of a screenshot or a re-saved copy.
JPEG stays the safe choice here
This tool can also output WebP, which compresses better than JPEG at the same visual quality — but the forms that enforce a strict 100KB ceiling are almost always the same older, inflexible upload systems that only accept JPEG, PNG or GIF. Unless you already know the destination accepts WebP, JPEG is the setting that actually gets the form submitted.
Nothing is uploaded to compress it
The whole process — decoding the photo, searching for the right quality setting, re-encoding the result — happens inside your browser using the Canvas API. The file never reaches a server, so there's no queue, no daily limit, and no risk of a photo you're using for a sensitive application (a visa, a government form) passing through infrastructure you don't control. A useful side effect: re-encoding through a canvas strips EXIF metadata, including GPS coordinates and camera details, from the output automatically.