Data storage units come in two competing systems that use the same prefix names for different values: SI (decimal) units use powers of 1000, while binary (IEC) units use powers of 1024. A "gigabyte" on a hard drive box means 1,000,000,000 bytes; a "gigabyte" reported by Windows means 1,073,741,824 bytes — a 7.4% difference that explains why a new drive always appears smaller than advertised.
The formula
SI (decimal — ISO/IEC 80000-13):
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
Binary (IEC — ISO/IEC 80000-13):
1 KiB = 1,024 bytes
1 MiB = 1,048,576 bytes (1,024²)
1 GiB = 1,073,741,824 bytes (1,024³)
1 TiB = 1,099,511,627,776 bytes (1,024⁴)
Conversion:
n GB ÷ (1,073,741,824 / 1,000,000,000) = n × 0.9313 GiB
n GiB × (1,073,741,824 / 1,000,000,000) = n × 1.0737 GB
Practical examples
Example 1 — Why a 1 TB drive shows as ~931 GB in Windows. The drive contains exactly 1,000,000,000,000 bytes (SI). Windows reports in binary GiB but labels it "GB": 1,000,000,000,000 / 1,073,741,824 = 931.3 GiB. The capacity has not changed — only the unit interpretation.
Example 2 — macOS vs Windows on the same drive. macOS (since 10.6) reports storage in SI: the same drive shows 1.00 TB. Windows shows 931 GB. No data is lost; the numbers are correct in their respective unit systems.
Example 3 — RAM always uses binary. 16 GB of RAM is always 16 × 1,073,741,824 = 17,179,869,184 bytes. Memory manufacturers and operating systems both use binary for RAM, so there is no discrepancy — a 16 GB DIMM shows as 16 GB in every OS.
Common mistakes
- Assuming the drive is formatted incorrectly. The "missing" space on a new drive is not lost to formatting. FAT32/NTFS/ext4 partition tables and file system overhead account for only a few MB. The discrepancy is entirely due to SI vs binary unit interpretation.
- Using GB and GiB interchangeably in specifications. A server spec that says "500 GB SSD" and a network transfer rate in "GB/s" may both use SI, but a backup tool reporting "GB remaining" may use binary. Always check which system a given tool uses.
- Thinking the IEC prefixes (KiB, MiB, GiB) are new or obscure. IEC 80000-13 (the standard defining KiB, MiB, GiB) was published in 2008. Linux tools (
df,du) have supported--sivs binary flags for decades.
International and regional variations
| System | Standard | Prefix | 1 "giga" unit = bytes | Used by |
|---|---|---|---|---|
| SI (decimal) | ISO/IEC 80000-13 | GB, TB, kB, MB | 1,000,000,000 | Drive manufacturers, macOS, ISPs, camera storage displays |
| Binary (IEC) | ISO/IEC 80000-13 | GiB, TiB, KiB, MiB | 1,073,741,824 | RAM, Windows File Explorer, Linux tools (by default), most software |
Quick reference
| SI unit | Bytes (exact) | IEC binary unit | Bytes (exact) | Difference |
|---|---|---|---|---|
| 1 kB | 1,000 | 1 KiB | 1,024 | 2.4% |
| 1 MB | 1,000,000 | 1 MiB | 1,048,576 | 4.9% |
| 1 GB | 1,000,000,000 | 1 GiB | 1,073,741,824 | 7.4% |
| 1 TB | 1,000,000,000,000 | 1 TiB | 1,099,511,627,776 | 9.9% |