Compress an image to 100 KB
The 100 KB target is preset: the page keeps the highest JPG quality that fits, prints the real byte count on the card, and never uploads the photo.
Your images
Settings
Generated images
- Nothing uploaded
- Free, no sign-up
- Strips EXIF
- Batch files
The application form took your resume without complaint and then bounced the headshot: "Image must be 100 KB or smaller." Worked out from the figures Apple publishes, a 12 MP iPhone photo weighs 2 to 2.5 MB, so it is 20 to 25 times over the line, and the error does not say by how much.
This is the 100 KB rung of the compressor: the target of 102,400 bytes is already set and the output is JPG. Instead of asking you to guess a quality number, the page encodes the photo several times, measures the real size after each pass, and keeps the highest quality that still lands under the limit, shrinking the pixels rather than letting the quality fall below 50. A headshot or a scanned ID stays readable instead of being crushed to the minimum just to be safe.
Every result card prints the original size, the new size, the percentage saved, the pixel dimensions and a target met tag, so you know its size before you leave the page. If you want the picture to look good rather than merely fit, crop to the face or the document first: fewer pixels sharing the same 100 KB means each one keeps more detail.
How it works
Three steps between a camera-roll photo and a file the form will take.
Add the photo or photos
Drag them onto the page, choose them from your camera roll or desktop, or paste with Ctrl+V. JPG, PNG, WebP, iPhone HEIC, GIF, BMP and SVG all open right in the browser, and the files stay on your device.
Leave JPG selected
The settings panel opens with the 100 KB target applied and JPG on the format bar; the quality slider is ignored here because the search picks the number. Switch to WebP only if you need transparency. If the form also caps pixels, type the limit in Max width (px) before you generate.
Generate, check the card, download
Press Generate images. The card under each photo reports the before and after sizes, the percentage saved, the output width × height and a target met tag; if 100 KB was out of reach it says smallest possible instead. Open Compare to check the face or the small print, then download the file or the whole batch as a .zip.
What else a 100 KB form may check
A form that caps the bytes may check other things as well, and its error message will not always say which one failed. Read its instructions for:
- A pixel maximum, a pixel minimum, or an exact frame.
- The list of accepted formats.
- Rules for the file name and the extension.
- Whether the limit is per file or for the whole upload.
What happens at the 100 KB target
Two stages and a last resort. First, a binary search on JPG quality from 50 to 96 with the pixels untouched, each encode measured against 102,400 bytes, keeping the highest quality that fits. If quality 50 is still over, the image shrinks 15% per step, up to sixteen steps, and the search runs again at each size until one passes. Only at the smallest size does the page accept a quality below 50. The stages are explained, with sources, in how to reduce image file size.
Results land under the line, never on it: the card may read 96 KB where the limit is 100, and a 100.6 KB file would be refused. In a test of ours with a 12-megapixel photo (4000 × 3000, 2.43 MB) in September 2026, the 100 KB target was met at 1282 × 962. The more bytes each pixel gets, the higher the quality the search can keep:
| Source | Pixels | Budget per pixel (102,400 bytes) |
|---|---|---|
| Phone photo, 4000 × 3000 | 12 MP | 0.009 bytes |
| Photographed page, 3000 × 4000 | 12 MP | 0.009 bytes |
| Resized to 1000 × 750 | 0.75 MP | 0.14 bytes |
| Headshot, 600 × 800 | 0.48 MP | 0.21 bytes |
Under 100 KB and the upload still fails
Bytes are one check among several, and the error may not name the one you tripped:
- Pixel dimensions. A maximum, a minimum or an exact frame. Check the width × height tag on the card; if it is wrong, crop on Crop image, set Max width (px) and generate again.
- Format. iPhone photos may arrive as HEIC; check the formats the portal lists. The JPG output here settles HEIC, WebP and BMP alike.
- Decimal versus binary kilobytes. This page targets 102,400 bytes; some systems count 100 KB as 100,000, so a card reading 99.5 KB (about 101,900 bytes) can still be over their limit.
- Too small after downscaling. If quality 50 could not reach 100 KB at full size, the image was shrunk, and a 400 × 400 minimum may refuse it. Crop to the subject first so the surviving pixels are the ones that count.
Crop first if it should look good, not just fit
A hundred kilobytes is a budget, and the bookshelf behind you spends it. Crop a full-body shot to head and shoulders, or trim the white margin off a scan, and fewer pixels share the same 102,400 bytes. Generate both versions and look at them in Compare.
Frequently asked questions
Why did the file come out at 96 KB and not 100 KB?
Because the page controls quality, not bytes: each quality step moves the file by a different amount, and it keeps the highest step that lands at or under 102,400 bytes. Landing a few KB short is exactly what keeps the portal from rejecting it.
Does compressing to 100 KB change the pixel size?
Only if quality 50 does not fit at full size. Then width and height are cut in 15% steps, at most sixteen times, with the quality searched again at each size, and the card shows the final width × height. A 4000 px photo goes to 3400, 2890, 2456 and so on; in our test with a 12-megapixel photo it stopped at 1282 × 962.
The form needs at least 400 × 400 px and under 100 KB. Can I get both?
Yes, as long as the page never has to shrink the image. Crop to a square on Crop image, resize to about 600 × 600 on Resize image, then compress here: 102,400 bytes over 360,000 pixels is 0.28 bytes per pixel. If the dimension tag on the card shows no arrow, the pixels were kept.
The site says 100 KB but refused a file this page marked target met. What happened?
That system may count 100 KB as 100,000 bytes, while this page targets 102,400. Take the file to the general compressor, lower the quality a few points and watch the card; stop as soon as it reads 97 KB or less. Or lower Max width (px) by 10% and run it here again.
Can I drop in HEIC photos straight from an iPhone?
Yes. On the first HEIC the page fetches a decoder of roughly 1 MB, once, and the photo itself never leaves the phone. It is decoded, run through the same 100 KB search and saved as JPG.
Can a logo with a transparent background stay transparent under 100 KB?
Not as JPG, which fills transparency with white. Pick WebP on the format bar: it keeps the alpha channel and gets the full quality search. PNG also keeps transparency, but it has no quality setting, so the page can only shrink its dimensions to reach the target.
I'm sending a passport photo and a scanned ID to a government portal. Does this page see them?
No. The decoding and the JPG encoding happen in your browser's canvas; nothing is transmitted and there is no server copy to delete later. The EXIF block, including the GPS position a phone camera writes, is stripped from the output, which is what you want on a file headed to a portal.
Is 100 KB enough for a resume headshot?
It is a budget of 0.21 bytes per pixel for a 600 × 800 head-and-shoulders photo, against 0.009 for a 12-megapixel original. Crop and resize first, then judge the result in Compare rather than by the number.