I spent an evening last month watching someone re-export the same headshot six times, trying to land under a 100 KB limit on a visa portal. Each attempt got softer. By the sixth one the face had that smeared, watercolour look you get when a JPEG is squeezed past the point it can take — and it still came out at 112 KB, because they were squeezing a 12 megapixel photo instead of sizing it properly first.
That is the whole problem in one sentence: people treat “under 100 KB” as a quality setting when it is really a budget, and budgets are easier to meet when you decide what you are buying before you spend.
What 100 KB actually buys you
First, a boring detail that saves real trouble: 100 KB is 100,000 bytes on most forms and 102,400 on some. Aim for about 95 KB and you clear both. This matters more than it should — I have seen a submission bounce at 103 KB for a “100 KB limit”.
Second, the useful part. At quality 80–90, a photograph with ordinary detail runs roughly 0.2–0.4 bytes per pixel. So 100 KB is somewhere around 250,000 to 500,000 pixels — call it 0.25 to 0.5 megapixels once you account for how busy the image is. A 600×800 portrait sits comfortably in that window. A 4000×3000 phone photo does not, and no slider is going to change that arithmetic.
Which is fine, because almost nobody needs a 12 megapixel image for a form. A 35 × 45 mm ID photo printed at 300 DPI is 413 × 531 pixels — 0.22 megapixels. You could meet a 100 KB limit there while keeping quality near 90.
Two dials, and the order matters
Every compressor gives you the same two levers, whether it shows them or not:
- Quality. How hard the JPEG encoder throws away detail. Going from 92 to 75 is often a 40–50% saving that you cannot see at normal viewing size.
- Resolution. How many pixels exist. Halving the width quarters the pixel count — a huge saving, and permanent. You cannot get those pixels back.
Cheap tools turn both down together and hand you whatever comes out. That is why a photo compressed by a random site looks so much worse than the file size suggests: it went to 40% quality at full resolution, or worse, to a resize that landed on awkward dimensions and left the edges ringing.
This is exactly why Image Compressor spends quality first and only starts dropping resolution when even 25% quality overshoots your target. Text and edges survive longer that way.
Do the arithmetic before you touch a slider
Work out the pixel dimensions you actually need, then compress. Two cases that cover most of it:
- An ID or passport photo. Crop to 413 × 531 first, then compress. You will hit 100 KB at high quality and the face stays sharp.
- A photo for a form that only says “under 100 KB”. Resize the long edge to about 1000 px, then compress. If it still overshoots, you are fighting image complexity, not the tool.
Passport Photo Maker handles the crop-and-tile part locally if you are doing a real ID photo; the compressor handles the bytes.
Compressing to a target size, step by step
- Open Image Compressor and drop the photo in. It is decoded in the tab; nothing is uploaded.
- Pick 100 KB from the target presets, or type your own number if the form says 200 KB or 50 KB.
- Convert. The result line tells you the real outcome, e.g. 2.4 MB → 96 KB · under 100 KB. If a limit is impossible without destroying the image, it says “target not reached” rather than quietly overshooting.
- If you would rather control it yourself, leave the target at No limit and use the quality slider — the byte count updates so you can watch the trade-off.
- Download. In a batch, each file gets its own result and its own save button.
What degrades first, and what survives
Not all pixels are equal when you squeeze them. Roughly, in the order things fall apart:
- Text on a scanned document. Dies first — sharp black-on-white edges ring and halo. If the thing you are compressing is a document, stop: make it a PDF instead and compress that (see Compress PDF).
- Fine texture — hair, foliage, fabric weave, gravel. Turns into blocks and mush.
- Smooth gradients — skies, studio backdrops — start showing visible steps (banding).
- Flat backgrounds and skin tones. Barely affected. This is why portraits survive aggressive compression far better than landscapes.
The part nobody mentions: metadata
A photo straight off a phone carries an EXIF block — device model, timestamp, orientation, and often GPS coordinates accurate to a few metres. Some sites strip it, many do not.
Re-encoding writes fresh JPEG bytes, so the whole block is discarded. What you download contains pixels and nothing else. On a form being read by a stranger, that is a genuine privacy win rather than a technicality, and it is the reason I would rather compress locally than upload a passport photo to whichever converter ranks first.
When 100 KB is the wrong answer
- The original is a document. Compress the PDF, not a photo of the PDF. Text stays text and the file gets smaller without going fuzzy.
- You need transparency — a signature cut-out, a logo. JPEG has no alpha channel; transparent areas come back white. Use Signature Background Remover, which exports transparent PNG.
- The limit is 2 MB, not 100 KB. Compressing a good photo down to 100 KB when nobody asked you to is how people end up submitting blurry scans. Match the number on the form.
- You already compressed it twice. Each round of JPEG encoding stacks artifacts on top of the previous ones. Start over from the original file.
FAQ
Why does my 100 KB photo look worse than someone else's 100 KB photo? Because budget is spent on detail, and detail varies. A portrait against a plain wall packs into 100 KB cleanly; a photo of a forest at the same size turns into blocks. The number is the same, the content is not.
Is it better to lower quality or resolution? Lower quality first, within reason — down to about 70–75 you will not notice at normal size. Below that, halve the dimensions instead; a slightly smaller sharp image reads better than a full-size mushy one.
Can I compress several photos at once? Yes. Drop them all in and each one is processed separately, with its own before/after size.
Does it work on HEIC files from an iPhone? This one expects JPG or PNG. Convert first with HEIC to JPG, which also runs locally, then compress the result.
Is my photo uploaded anywhere? No. The image is decoded and re-encoded in your browser using the Canvas API. There is no server in the loop, so there is nothing to store, log, or expire.
What if I cannot reach 100 KB without ruining it? Then the image is too detailed for that budget at that size — shrink the dimensions rather than pushing quality lower. If it is a document, switch to a compressed PDF instead.