MB vs MiB: why a 1 TB drive shows up as 931 GB
Drive makers count in powers of 1000, operating systems in powers of 1024. Nobody is lying. The maths behind the missing gigabytes, and what KiB and MiB mean.
By ToolsNow · Published
Buy a 1 TB drive, plug it in, and Windows reports 931 GB. Roughly 7% of the capacity looks like it’s gone missing.
It hasn’t. Every byte you paid for is there. The manufacturer and your operating system are using the same words to mean different numbers.
Two meanings of “mega”
In every other context, metric prefixes are powers of 1000. A kilometre is 1000 metres, a megawatt is 1,000,000 watts. Storage manufacturers use them the same way:
1 kB = 1,000 bytes
1 MB = 1,000,000 bytes
1 GB = 1,000,000,000 bytes
1 TB = 1,000,000,000,000 bytes
Computers, though, address memory in powers of 2, so early computing borrowed the same prefixes for the nearby binary quantities: “kilobyte” for 1024 bytes, “megabyte” for 1024², and onwards. The two usages coexisted for decades, and the gap between them widens with every prefix:
| Prefix | Decimal | Binary | Gap |
|---|---|---|---|
| kilo | 1,000 | 1,024 | 2.4% |
| mega | 1,000,000 | 1,048,576 | 4.9% |
| giga | 10⁹ | 1,073,741,824 | 7.4% |
| tera | 10¹² | 1,099,511,627,776 | 10.0% |
The missing gigabytes, precisely
Your “1 TB” drive holds 1,000,000,000,000 bytes, exactly what the label says in decimal units. Windows divides that by 1024³ to display it in binary gigabytes:
1,000,000,000,000 ÷ 1,073,741,824 = 931.3
So it shows you “931 GB”. Same bytes, different divisor. At 4 TB the displayed figure is 3,638 GB, which is around the point where people start writing to manufacturers.
KiB, MiB, GiB: the fix nobody adopted evenly
In 1998 the IEC standardised separate names for the binary quantities. Kibibyte (KiB) is 1024 bytes, mebibyte (MiB) is 1024², gibibyte (GiB) is 1024³. Under that scheme the words are unambiguous: MB always means 10⁶ bytes and MiB always means 2²⁰.
Adoption, twenty-five years on, is a patchwork:
- Storage manufacturers use decimal MB/GB/TB, as they always have.
- macOS and Linux desktops switched to decimal years ago. A Mac reports that same 1 TB drive as 1 TB, so the missing-space question is mostly a Windows phenomenon now.
- Windows still computes in binary while labelling it KB/MB/GB, which is the one combination the standard specifically set out to eliminate.
- Linux command-line tools often support both, via
--siflags, and plenty of them correctly print KiB/MiB. - Networking is always decimal, and in bits. A 100 Mbps connection moves at most 12.5 decimal megabytes per second, which is a separate factor-of-8 confusion stacked on top of this one.
- RAM is binary by construction, so a “16 GB” memory kit really is 16 GiB. Convention decides which industry rounds which way, not deception.
Practical consequences
Checking a drive isn’t defective. Multiply the label by 0.931 for TB, or 0.9313 for GB→GiB, before comparing it against Windows. A 2 TB drive showing 1,862 GB is exactly right.
Estimating what fits. File sizes shown by Windows are binary; drive capacity marketing is decimal. Convert both to plain bytes before doing any arithmetic and the mismatch disappears. The file size converter translates between B, kB, KiB, MB, MiB and the rest in both directions.
Reading bandwidth quotes. Divide advertised Mbps by 8 for decimal MB/s, then knock off another 5% or so if you’re comparing against a binary MiB/s figure from a download manager.
Nobody involved is cheating. It’s a fifty-year-old naming collision that standardisation only partly cleaned up, and once you know which convention each screen is using, all the numbers agree.
Published by ToolsNow. Read how tools and sources are checked.
Found a mistake or an outdated detail? Send a correction with the article title and the detail to review.