How to Reduce Image Size to KB (20 KB, 50 KB, 200 KB)
Images··8 min read
A form that says "maximum 200 KB" is not asking you to guess at a quality slider. Here is how to hit the number exactly, why "200 KB" means two different things, and what it costs in pixels.
To reduce image size to KB, start from the number the form gave you instead of from a quality slider. That is the entire difference between this and every other image compressor you have tried. They ask you to guess at a quality setting and then tell you what the file ended up weighing, so you move the slider, re-check, move it again, and keep going until the upload stops being rejected.
If the form says "maximum 200 KB", that is not a preference you are meant to approximate. It is a number, and the tool should work backwards from it.
Why "200 KB" is two different numbers
This is the part that quietly wastes people's time, and it explains the frustrating case where you sized a file to exactly 200 KB and the form still rejected it.
A kilobyte is 1,024 bytes if you ask your operating system. It is 1,000 bytes if you ask almost anyone else — including, most likely, the form enforcing your limit. So "maximum 200 KB" means either 204,800 bytes or 200,000 bytes, and nothing on the page tells you which.
A file built to 204,800 bytes is rejected by a form enforcing 200,000. A file built to 200,000 satisfies both. That is the only safe target, so it is the one this tool aims at: your result lands slightly under the limit rather than exactly on it, and the result line states the ceiling in plain bytes — 199,176 of 200,000 B — so you can match it against whatever number the form actually printed.
This is also why the tool says "200 KB" and then hands you a file your computer calls 195 KB. Both are correct. 200,000 bytes is 195 KB the way your file manager counts, and it is the number the form is checking.
How the tool hits a number instead of guessing at quality
Three steps, in this order, and the order is the whole trick:
- Cap the dimensions first. File size tracks the number of pixels, and quality alone cannot rescue a 6000px photo without turning it to mush. A 6000px image shown at 1920px looks identical on any screen and costs several times the bytes. Capping first means the quality you have left is spent on detail a viewer can actually see.
- Search the quality. At the capped size the tool encodes at the lowest usable quality, then bisects the range eight times to find the highest quality that still fits under your number.
- Shrink and repeat when it has to. If even the lowest quality is over the limit, the image is scaled down by the square root of how far over it is, and the search runs again. A 20 KB ceiling on a 4000px photo needs several of these passes.
The quality floor is 0.3, not 0. A JPEG at quality 0.05 is a smear, and a tool that reaches its target by destroying the picture has not done the job. When the floor is still too big, the honest answer is fewer pixels at a usable quality — which is exactly what step three does.
What it actually produced
These are measured results from running the tool on the page, then reading the bytes it wrote to disk. The source is a 4000×3000 camera JPEG weighing 6.06 MB (6,351,030 bytes):
- 20 KB target → 19,668 bytes at 384×288 — 99.7% smaller
- 50 KB target → 49,245 bytes at 536×402 — 99.2% smaller
- 100 KB target → 99,086 bytes at 759×569 — 98.4% smaller
- 200 KB target → 199,176 bytes at 1073×805 — 96.9% smaller
Two things are worth noticing. Every result is under its ceiling, never over — that is the contract, and it is checked on the produced bytes rather than on what the page claims. And the dimensions fall as the target shrinks, because that is the only way a 20 KB ceiling is reachable at all.
The custom box exists for the limits the presets cannot express, and those are the ones people actually face. A 6.06 MB photo reduced to a typed limit of 30 KB came back at 29,932 bytes and 462×346; a typed limit of 300 KB came back at 298,254 bytes and 1460×1095. If your form says "maximum 300 KB", no round preset serves you, and a slider certainly does not.
On a larger source the same arithmetic holds. A 5.30 MB 3000×2000 photo with the dimension cap set to 1280px produced 192,369 bytes at 1280×853 — the cap was respected and the 200 KB target was still met, because the quality search had room left once the pixels came down.
What you give up
Three honest caveats, because a size limit is a trade and you should know which side you are paying on.
Dimensions. This is the real cost, and it is unavoidable. Pixels are what bytes are made of, so a 20 KB ceiling on a 4000px photo cannot be met by quality alone — you get 384×288, which is a thumbnail. That is fine for an ID photo and wrong for a print. If you need to keep the resolution, choose a larger target.
Transparency. A transparent PNG comes out as a JPEG on a white background, and the result line says so — it appends "white background" so you are told rather than left to discover a logo with a grey box behind it. This is a consequence of the format, not a setting: PNG is lossless, so there is no quality to search and no way to hit a 50 KB ceiling except by shrinking the picture to a fraction of its size. JPEG can reach the limit and keep the detail. If the alpha channel matters more than the size, use a tool that keeps PNG.
Nothing else. The photo is not uploaded, not resized behind your back, and not re-encoded when it does not need to be — see the next two sections.
If your file already fits, nothing happens to it
This sounds obvious and is not. The obvious implementation re-encodes everything, and re-encoding can only lose: JPEG quality is thrown away, a PNG's transparency is flattened, and the result is frequently larger than what you handed in.
We measured that. A 2,731-byte transparent PNG run through an earlier version came back as an 11,422-byte JPEG — four times the size, from a tool whose whole job is to make files smaller, with a confident "-0%" badge on the row. The fix is that a file already under the limit is handed back byte-for-byte unchanged, with an "already fits" badge and a line that says "not re-encoded". We verified this by comparing the downloaded file against the input byte by byte: 2,731 bytes in, 2,731 bytes out, identical.
So if you drop in a photo that is already small enough, you get your own file back untouched. That is the correct answer, and it is worth saying out loud because most tools will happily degrade it for you.
When the limit cannot be reached
There is a point past which a target is impossible, and the failure mode to avoid is silently handing back a ruined thumbnail and calling it done.
An extreme example makes it concrete: a 20000×100 panorama, asked for 5 KB with the dimension cap turned off. The first downscale pass would have to take the 100px edge down to about 20px — below the floor the tool will go to — so it stops and says so:
Could not reach 5KB — this image bottoms out at about 520 KB. Choose a larger target.
That names the target it could not reach and the size that is reachable, so you know what to type instead. A refusal with a number in it is useful; a blank row or a blurred file is not.
How to use it
- Open the reduce image size to KB tool.
- Drop in one image or a whole batch.
- Pick the target: 20 KB or 50 KB for ID photos and exam portals, 100 KB for tight limits, 200 KB for most uploads — or Custom to type the exact number your form states.
- Leave the dimension cap at 1920px unless you need print resolution.
- Click Reduce Size and read the result line. It names the exact byte ceiling the file was built to, so you can check it against the form before you upload.
Changing the target re-runs the batch, so you can try 50 KB, look at it, and decide whether 20 KB is acceptable without starting over.
Nothing is uploaded
The whole thing — decoding, the dimension cap, the quality search, the encoding — runs in your browser. Your photos never leave your device, which matters more than usual here: the files people resize for upload are passports, ID cards, exam photographs, medical letters and insurance claims.
You can verify it rather than take our word for it. Load the page, turn off your internet connection, and reduce a photo. It still works, because nothing was ever being sent anywhere.
The short version
Work from the limit, not from a quality slider. Remember that "200 KB" is 200,000 bytes to the form and 204,800 to your file manager, so aim at the smaller number. Expect the dimensions to drop — that is what actually saves the bytes — and expect a transparent PNG to come back on a white background, announced on the row.
And if your file already fits, you should get it back exactly as you gave it.
Tools mentioned
- Image CompressorCompress JPG, PNG and WebP images in your browser — nothing is uploaded, and every image shows the exact KB…
- Image ResizerResize images online by pixels, percentage, aspect ratio, or preset. Free, browser-based, batch ready.
- Convert HEIC to JPGConvert iPhone HEIC and HEIF photos to JPG free in your browser. Batch convert at full quality with an…
Frequently asked questions
Does "under 200 KB" mean 200,000 bytes or 204,800?
It depends who is counting, and that is the problem. A kilobyte is 1,024 bytes to your operating system and 1,000 bytes to most web forms, so a 200 KB limit is either 200,000 or 204,800 bytes. This tool targets 200,000 because a file built to the smaller number satisfies both readings, and every result row states the exact byte ceiling it used.
Why does my 200 KB result show as 195 KB?
Because the two numbers use different conventions. The 195 KB is the size your computer reports, counting a kilobyte as 1,024 bytes. The ceiling is stated in plain bytes — 199,176 of 200,000 — because that is the number the upload form is checking. 200,000 bytes is 195 KB the way your file manager counts, and it fits both readings of "200 KB".
Can I set a limit that is not in the list, like 30 KB or 300 KB?
Yes. Choose Custom and type the limit into the Custom limit box — anything from 5 KB to 20,480 KB. A form that says "maximum 300 KB" or "photo must be under 30 KB" is exactly the case the presets cannot express, and a typed limit is treated identically to a preset one: same dimension cap, same quality search, same exact byte ceiling on the result.
Why did the dimensions change?
Because file size tracks the number of pixels, so shrinking dimensions is by far the cheapest way to cut bytes. A 6000px photo costs several times the space of a 1920px one while looking identical on any screen. For a very small target like 20 KB the tool keeps reducing dimensions until the quality it is allowed to use can reach the number.
What happens to a transparent PNG?
It comes out as a JPEG on a white background, and the result line says "white background" so you are told rather than left to discover it. PNG is lossless, so there is no quality setting to search and no way to hit a tight ceiling except by shrinking the picture drastically. JPEG can reach the limit while keeping the detail. If the alpha channel matters more than the size, use a tool that keeps PNG.
What happens if my file is already under the limit?
It is handed back byte-for-byte unchanged, with an "already fits" badge and a note that it was not re-encoded. Re-encoding can only lose quality, flatten a PNG alpha channel, and can easily make the file larger — an earlier version turned a 2,731-byte PNG into an 11,422-byte JPEG. Returning the original is the correct answer.
What if the target size cannot be reached?
The tool tells you the size it can reach rather than handing back a ruined thumbnail. It reports that the image bottoms out at a specific size and asks you to choose a larger target. That is a real limit of the format, not a bug: past a certain point every remaining byte is detail you can see.
Are my images uploaded to a server?
No. Decoding, the dimension cap, the quality search and the encoding all run in your browser. You can disconnect from the internet after the page loads and it will still work, which is the proof.
Related articles
- How to Remove EXIF Data from a Photo (No Quality Loss)Every phone photo carries hidden text: where it was taken, when, and on what device. Here is how to see it, how to remove it without damaging the picture, and which apps quietly pass it on.
- How to Convert HEIC to JPG (Why iPhone Photos Won't Open)Your iPhone saves photos as HEIC, and almost nothing outside Apple can open them. Here is how to convert them to JPG, and how to stop the problem at the source.
- How to Compress Images Without Losing QualityLearn how to compress images without losing quality. A practical guide to reducing file size while keeping your photos sharp and clear.
- How to Remove Image Backgrounds (Complete Guide)Learn how to remove image backgrounds online. A practical guide to making backgrounds transparent for ecommerce, social media, and design.
- How to Encode Images to Base64 (and When to Do It)Learn how to encode images to Base64. A practical guide to understanding Base64 encoding, when to use it, and the tradeoffs involved.
Written by the Chaudify team. Every tool mentioned here runs entirely in your browser — nothing you open is ever uploaded. Browse all tools or read more guides.