August 14, 2026
KB vs KiB vs MB: why your hard drive shows less space than advertised
You buy a "1 TB" drive, plug it in, and your computer reports something like 931 GB free. Nothing is broken and nothing was stolen. Two different, both legitimate, definitions of a kilobyte are being used by two different parties, and the gap between them grows the bigger the number gets.
Two competing definitions of "kilo"
Everywhere else in the metric system, the prefix "kilo" means exactly 1,000. A kilometer is 1,000 meters, a kilogram is 1,000 grams. Storage manufacturers use that same decimal definition: 1 KB = 1,000 bytes, 1 MB = 1,000 KB, 1 TB = 1,000 GB. It's consistent with the SI system and it's what appears on drive packaging.
Computers, though, work in binary, and 1,000 isn't a round number in binary the way it is in decimal. The nearest convenient power of two is 1,024 (2 to the 10th power), so operating systems and most software have historically used 1,024 as the multiplier instead: 1 KB = 1,024 bytes, 1 MB = 1,024 KB, and so on. That convention predates any standardization effort and just stuck.
IEC prefixes: an attempt to fix the ambiguity
In 1998, the International Electrotechnical Commission introduced a separate set of binary prefixes to remove the ambiguity: KiB (kibibyte), MiB (mebibyte), GiB (gibibyte), each explicitly meaning a power of 1,024. Under this convention, KB/MB/GB are reserved for the decimal, 1,000-based meaning, and KiB/MiB/GiB are always 1,024-based. In principle this fixes everything. In practice, most operating systems still display "GB" on screen while actually calculating in binary, effectively using the decimal label with the binary value, which is exactly where the confusion comes from.
The actual math for a "1 TB" drive
A drive marketed as 1 TB uses the manufacturer's decimal definition:
1 TB = 1,000,000,000,000 bytes (10¹² bytes)An operating system reporting that same capacity in binary-based GiB, even if it labels the number "GB", divides by 1,073,741,824 (1,024³) instead of 1,000,000,000:
1,000,000,000,000 ÷ 1,073,741,824 ≈ 931.32That's the 931 you see. No storage vanished. It's the same physical bytes, divided by a bigger number to get the displayed unit, because 1,024³ is a larger divisor than 1,000³. The gap is proportional and grows with drive size: it's about 7% at the terabyte scale and would be larger still at the petabyte scale.
Where each convention actually shows up
Windows' File Explorer, and most disk-utility tools built on similar libraries, report binary-based values while displaying decimal-style labels ("GB" instead of the technically correct "GiB"), which is the main source of the "missing space" question. macOS switched to true decimal reporting starting with Mac OS X 10.6 (Snow Leopard) in 2009, so a modern Mac will show a capacity much closer to the number on the box. Linux tools vary: ls -l reports raw bytes, while df -h and similar utilities typically default to binary units unless told otherwise. RAM capacity, by contrast, is universally reported and marketed in true binary units, because memory is physically addressed in powers of two, so "8 GB of RAM" means the same 8,589,934,592 bytes everywhere.
The practical takeaway
None of this is a manufacturing shortfall or a bug. It's two internally consistent counting systems, decimal for marketing and the SI-correct KB/MB/GB, binary for how computers actually address memory and how most file managers still display it, being shown side by side without always being labeled correctly. When a number looks off by a few percent between the box and the screen, converting between the 1,000-based and 1,024-based scales for the same byte count will almost always account for the entire difference.
Want to try it yourself?
Open the Digital Storage Converter →