Why Your 1 TB Drive Shows 931 GB: The GB vs GiB Problem
Your drive is not lying and neither is your operating system. They are using two different definitions of the same word.
You buy a 1 TB drive. Windows reports 931 GB. Nothing is broken, nothing is being withheld, and the manufacturer is not cheating you — although a class action once argued otherwise. Two incompatible definitions of "gigabyte" are in use, and you are seeing both at once.
Two different thousands
Computers address memory in binary, so powers of two are natural: 210 = 1024 is conveniently close to 1000. Early programmers borrowed the SI prefix "kilo" for 1024 bytes, which was a small, harmless imprecision.
Small at kilobytes. Not small later:
- Kilo: 1000 vs 1024 — 2.4% apart
- Mega: 1,000,000 vs 1,048,576 — 4.9%
- Giga: 109 vs 230 — 7.4%
- Tera: 1012 vs 240 — 10.0%
The gap widens with every step. At terabyte scale it is a tenth of your drive.
The IEC prefixes
In 1998 the International Electrotechnical Commission standardised distinct binary prefixes:
| Decimal (SI) | Binary (IEC) |
|---|---|
| kilobyte (kB) = 1000 B | kibibyte (KiB) = 1024 B |
| megabyte (MB) = 1000² B | mebibyte (MiB) = 1024² B |
| gigabyte (GB) = 1000³ B | gibibyte (GiB) = 1024³ B |
| terabyte (TB) = 1000⁴ B | tebibyte (TiB) = 1024⁴ B |
Unambiguous, and largely ignored outside Linux and standards documents. "Gibibyte" never caught on, so the ambiguity persists in everyday use.
Who uses which
- Drive manufacturers use decimal. 1 TB means exactly 1,000,000,000,000 bytes.
- Windows uses binary but labels it "GB". This is the mismatch that generates the complaint.
- macOS switched to decimal in 2009, so a 1 TB drive shows as about 1 TB.
- Linux varies; many tools correctly use GiB/TiB.
- RAM is always binary, because memory addressing genuinely is binary.
The arithmetic on your drive
1 TB = 1,000,000,000,000 bytes. Divide by 1024 three times to get Windows' "GB":
1,000,000,000,000 ÷ 1,073,741,824 ≈ 931.32
That is where 931 comes from. No bytes are missing. Some capacity is genuinely consumed by the filesystem and reserved blocks, but that is a separate, much smaller effect.
Bits versus bytes
A second ambiguity compounds the first. Network speeds are quoted in bits per second; file transfers are reported in bytes per second. Eight bits to a byte, so:
A 100 Mbps connection delivers at most 12.5 MB/s. A gigabit line tops out around 125 MB/s before overhead.
The capital letter is the only distinction: b is bits, B is bytes. Mbps and MBps differ by a factor of eight and one keystroke. Our data transfer converter keeps both explicit.
The lawsuits
Several US class actions in the 2000s alleged that decimal capacity labelling was deceptive. They largely settled, with manufacturers adding the disclaimer that now appears on every box: "1 GB = 1,000,000,000 bytes. Some capacity is used for formatting."
The courts effectively concluded that using SI prefixes with their SI meanings is not deception. The mismatch is really an operating-system labelling choice.
Practical takeaways
- Expect roughly 7% less than the label at GB scale, 10% at TB scale, when viewing in Windows.
- Buy with headroom — and in any case never fill an SSD past about 80%, since they need free blocks for wear levelling.
- Divide advertised network speeds by eight for real transfer rates.
- In technical writing, use GiB when you mean binary. Precision costs nothing.
Why RAM is always binary and storage is not
The split is not arbitrary. RAM is addressed by binary address lines: n address lines can select exactly 2n locations. A memory chip physically cannot have a capacity of 1,000,000,000 bytes, because that is not a power of two. Memory capacities are binary because the hardware leaves no alternative.
Storage has no such constraint. A drive is a sequence of addressable sectors and the count can be any number the manufacturer chooses. Free to pick, they picked the decimal interpretation — which, not coincidentally, produces a larger number on the box.
This is why a "16 GB" memory module genuinely contains 17,179,869,184 bytes while a "16 GB" flash drive contains 16,000,000,000. Both labels are correct within their own convention.
Cloud storage and bandwidth billing
Cloud providers almost universally bill in decimal units. A terabyte of object storage means 1012 bytes, and egress charged per gigabyte means 109 bytes.
This matters when reconciling a bill against local figures. If your server reports 900 GiB transferred and your invoice says 966 GB, nothing is wrong — those are the same quantity expressed two ways. Budgeting against the wrong unit produces a 7–10% surprise.
Some monitoring tools report in GiB while the billing dashboard reports in GB, within the same product. Checking which unit a figure uses before acting on it is a habit worth forming.