KB vs KiB: why 100 KB means two different things
A file your computer calls 100 KB can be 102,400 bytes, and a form that means 100,000 will refuse it. The gap is small, deliberate, and genuinely confusing.
Published 3 November 2026
You compress an image until your computer says 100 KB. The upload form rejects it for being over 100 KB. Neither of you is lying.
There are two definitions of a kilobyte in active use, they differ by 2.4%, and nothing in either interface tells you which one is being applied. At the exact boundary — which is where you end up when you are fighting a limit — that 2.4% decides whether the file goes through.
The two definitions
Computers address memory in powers of two, so 210 = 1,024 was a natural unit, and early practice borrowed the metric prefix “kilo” for it even though kilo means exactly 1,000 everywhere else in measurement.
That worked until the discrepancy grew. It is 2.4% at the kilobyte, 4.9% at the megabyte, 7.4% at the gigabyte, and it keeps widening. In 1998 the IEC standardised separate names for the binary units — kibibyte (KiB), mebibyte (MiB), gibibyte (GiB) — leaving KB, MB and GB to mean the decimal powers of ten.
The standard is clear. Adoption is not, which is the entire problem.
| Stated as | Actual bytes |
|---|---|
| 100 KB (decimal, SI) | 100,000 |
| 100 KiB (binary) | 102,400 |
| 1 MB (decimal, SI) | 1,000,000 |
| 1 MiB (binary) | 1,048,576 |
| 2 MB (decimal, SI) | 2,000,000 |
| 2 MiB (binary) | 2,097,152 |
Who uses which
This is where it gets genuinely messy, because the labels do not match the arithmetic in several widely used places.
- Windows File Explorer divides by 1,024 and labels the result “KB”. So Windows showing “100 KB” means up to 102,400 bytes. By the IEC standard that is KiB, but Windows does not say so.
- macOS Finder has divided by 1,000 since Snow Leopard in 2009. The same file can therefore be reported differently on the two systems — this is not a bug in either.
- Linux varies by tool.
ls -lgives raw bytes;ls -lhuses 1,024 and labels it “K”;ls -l --siuses 1,000. - Storage manufacturers use decimal, which is why a “1 TB” drive shows as about 931 GB in Windows. The drive is the advertised size; Windows is dividing by 1,024 and calling it GB.
- Upload forms are anyone’s guess. The limit is enforced by a line of server code comparing a byte count against a constant, and whether that constant was written
100 * 1024or100 * 1000depended on whoever wrote it.
What this means at the boundary
Almost always, nothing. A 2 MB photo being cut to 400 KB has an enormous margin and the convention is irrelevant.
It matters in exactly one situation, and it is a common one: a hard limit you are deliberately squeezing up against. Government portals and job application forms love a 100 KB cap on a photograph, and getting an image to 100 KB means landing within a couple of percent of the ceiling — precisely the window where the two definitions disagree.
The rule that always works
Why Celveri shows the byte count
Every size on this site is displayed in binary units — 1 KB = 1,024 bytes, matching what Windows reports, because that is what most people see when they right-click a file. But because that choice is ambiguous by nature, the compressor also prints the exact byte count next to the target.
That number is not a convention. 99,948 bytes is 99,948 bytes under every definition, on every operating system, to every upload form ever written. When a limit genuinely matters, it is the only figure worth reading.
A quick way to tell what a form means
You usually cannot know in advance, but you can find out cheaply. Produce a file at around 101,000 bytes and try it.
- Accepted — the form is using 1,024 and your real ceiling is 102,400 bytes.
- Rejected — it is using 1,000 and you need to get under 100,000.
One test settles it, which beats guessing repeatedly. If the form punishes failed attempts, just target the smaller number and skip the experiment.
The other half of the problem
Sometimes the units are not the issue and the file genuinely is too large. For images, the levers are pixel dimensions and compression quality, in that order. For PDFs, it is the same two levers applied to the pictures inside — why your PDF is too big covers which to change first.
Celveri’s compress to 100 KB page opens with that target already set and shows the exact byte count of the result, including when the target cannot be reached without destroying the image — which it will tell you rather than quietly handing back something unusable.
Tools that help with this
Image Compressor
Reduce an image to a target file size such as 100 KB or 500 KB.
