How to compress a photo to under 100 KB for online forms (without it looking awful)
By Cuelark Team · · 5 min read
Compress image to 100 KB · free, runs in your browser, nothing uploadedA phone photo is usually 2–5 MB. Job portals, exam forms and visa applications often accept 100 KB or less, and some ask for 50 KB or 20 KB. Squeezing a 3 MB photo into 100 KB is a 30-to-1 reduction, and how you do it decides whether the result looks fine or like a blocky mess.
Short answer: shrink the pixel dimensions first, to about 1,000–1,200 px on the long side, then lower JPEG quality until it fits. Lowering quality alone on a full-size photo either can't reach 100 KB or ruins it.
Why forms set such small limits
A form that prints your photo in a 3.5 × 4.5 cm box, or shows it as a 200-pixel avatar, has no use for 12 megapixels. Small caps keep storage and review screens fast when an office processes thousands of applications, and many of these systems were built when 100 KB was a lot. The limit is usually about the file's size in bytes, not about how sharp it looks. That gives you room to make a good-looking small file.
The two levers: pixels and quality
A JPEG's size depends mostly on two things:
- Dimensions (how many pixels). Halving the width and height cuts the pixel count to a quarter.
- Quality (how aggressively each block of pixels is simplified). Low quality shows up as blocky squares and smeared edges.
Most people reach for quality first. That's the mistake, as the numbers below show.
Worked example: a 12 MP photo to under 100 KB
We started from a 3992 × 2992 photo (2.99 MB as HEIC). For each width we found the highest JPEG quality that kept the file under 100,000 bytes. To compare fairly, we then scaled every result to the same 800 × 600 viewing size and measured how close it was to the original using PSNR (higher is better).
| Width | Highest quality that fits | File size | PSNR at 800 px |
|---|---|---|---|
| 3992 px (original) | none, even quality 5 is too big | n/a | n/a |
| 2000 px | 8 | 95.5 KB | 28.6 dB |
| 1600 px | 15 | 98.6 KB | 30.7 dB |
| 1200 px | 32 | 99.5 KB | 31.7 dB |
| 1000 px | 53 | 99.4 KB | 31.7 dB |
| 800 px | 76 | 99.8 KB | 31.6 dB |
What this tells you:
- At full size, 100 KB is not reachable. Even at the lowest quality the file stays above the limit.
- At 2000 px you can fit, but quality 8 looks broken: visible 8 × 8 blocks, colour banding in the sky, smeared faces.
- 1000–1200 px is the sweet spot. It scored best, and quality 32–53 still looks clean at the size a form displays it. 800 px is almost as good and sharper per pixel.
So for a 100 KB limit: resize to 1,000–1,200 px wide, then search for the quality. Our Compress image to 100 KB tool does both steps for you: it tries the highest quality first and scales the image down only when quality alone would look bad. It runs in your browser, so the photo isn't uploaded.
50 KB and 20 KB
The same photo, same method:
| Target | Width | Highest quality that fits | File size |
|---|---|---|---|
| 50 KB | 1000 px | 20 | 48.8 KB |
| 50 KB | 800 px | 37 | 49.5 KB |
| 50 KB | 600 px | 70 | 49.8 KB |
| 20 KB | 800 px | 10 | 19.8 KB |
| 20 KB | 600 px | 21 | 19.6 KB |
| 20 KB | 400 px | 62 | 19.7 KB |
- For 50 KB, aim for 600–800 px. At 1000 px the quality drops to 20 and edges start to break up. The 50 KB tool is preset for this.
- For 20 KB, aim for about 400 px. That sounds small, but a passport-style photo on a form is usually displayed at a few hundred pixels anyway. At 600 px the quality falls to 21, which shows blockiness on faces. Use the 20 KB tool.
If your form gives exact pixel dimensions (for example 200 × 230), use those. They are always small enough to fit at good quality.
Five things that make small files look better
- Crop first. Cut away background and empty space so the bytes go to your face or the document, not the wall behind you.
- Use even light and a plain background. Noise, shadows and patterned walls are expensive to encode.
- Convert HEIC before you start. Most forms reject HEIC outright. Our compressor accepts it and outputs JPG. See HEIC vs JPG for what changes.
- Check how the form counts KB. Some use 1 KB = 1,000 bytes, others 1,024. If a 99 KB file gets rejected, aim for 95 KB.
- Signatures: scan or photograph on white paper, then crop tight. A tightly cropped signature fits 10–20 KB easily and stays crisp.
Common errors and fixes
- "File size exceeds limit" when the file shows 100 KB: your system rounds, or the form counts 1,000 bytes per KB. Aim lower.
- "Invalid format": the form wants .jpg or .jpeg and you have .heic, .png or .webp. Convert to JPG.
- "Image dimensions not valid": the form has a pixel rule as well as a size rule. Resize to the stated dimensions, then compress.
How we measured
Test date: 2 November 2026. Source: one public 3992 × 2992 HEIC sample photo, decoded with libheif (pillow-heif), resized with Lanczos filtering, encoded with libjpeg-turbo. For each width we binary-searched quality 5–95 for the highest value under the target. PSNR was computed on RGB pixels after scaling each result to 800 × 600. Quality numbers are on libjpeg's 1–100 scale. Browser encoders use a similar scale but won't match to the byte.