Data Storage Units Explained: Why Your Hard Drive Shows Less Space Than Advertised
Bits and Bytes: The Fundamentals
At the lowest level, computers store everything as bits — binary digits that are either 0 or 1. Eight bits make a byte, which is the smallest addressable unit of storage in most computers.
- 1 bit = a single 0 or 1
- 1 byte = 8 bits = enough to store one ASCII character (like the letter "A")
- 1 nibble = 4 bits (half a byte, rarely used outside low-level programming)
Everything else — kilobytes, megabytes, gigabytes — is built on top of bytes. But this is where it gets confusing, because there are two competing definitions for each prefix.
Decimal Units (KB, MB, GB) — Base 10
In the decimal (SI) system, each prefix multiplies by 1,000:
| Unit | Abbreviation | Bytes |
|---|---|---|
| Kilobyte | KB | 1,000 |
| Megabyte | MB | 1,000,000 |
| Gigabyte | GB | 1,000,000,000 |
| Terabyte | TB | 1,000,000,000,000 |
| Petabyte | PB | 1015 |
This is the system used by hard drive manufacturers, ISPs, and the SI standard. When Samsung sells you a "1 TB SSD," they mean 1,000,000,000,000 bytes.
Binary Units (KiB, MiB, GiB) — Base 2
Computers work in powers of 2. So computer scientists originally used "kilobyte" to mean 210 = 1,024 bytes, because 1,024 is the closest power of 2 to 1,000. In 1998, the IEC created official binary prefixes to eliminate this ambiguity:
| Unit | Abbreviation | Bytes | Difference from SI |
|---|---|---|---|
| Kibibyte | KiB | 1,024 | +2.4% |
| Mebibyte | MiB | 1,048,576 | +4.9% |
| Gibibyte | GiB | 1,073,741,824 | +7.4% |
| Tebibyte | TiB | 1,099,511,627,776 | +10.0% |
| Pebibyte | PiB | 250 | +12.6% |
The "bi" in KiB, MiB, GiB stands for "binary." This is the system your operating system (Windows, macOS, Linux) uses when reporting file sizes and disk space — though Windows confusingly labels them "KB," "MB," and "GB."
The Great Confusion
The root cause of all confusion:
- Drive manufacturers use decimal (1 GB = 1,000,000,000 bytes) — it makes their drives sound bigger
- Operating systems use binary (1 GB = 1,073,741,824 bytes) — because memory addressing is inherently binary
- Windows uses binary values but labels them with decimal prefixes (showing "931 GB" when it means "931 GiB")
- macOS (since Snow Leopard, 2009) switched to decimal, so a 1 TB drive shows as ~1 TB
- Linux varies by distribution and tool (ls uses decimal, some file managers use binary)
Where Did My Disk Space Go?
When you buy a "1 TB" hard drive, here's what happens:
- The manufacturer ships a drive with 1,000,000,000,000 bytes (1 TB decimal).
- Windows divides by 1,073,741,824 to get GiB, but labels it "GB."
- Result: 1,000,000,000,000 ÷ 1,073,741,824 = 931.32 GiB, displayed as "931 GB."
- Then subtract space for the file system (formatting), hidden recovery partitions, and system files.
- You end up with roughly 910–920 "GB" of usable space.
Neither the manufacturer nor your OS is lying — they're just using different definitions of "gigabyte."
| Advertised | Actual Bytes | Shown in Windows | "Missing" |
|---|---|---|---|
| 256 GB SSD | 256,000,000,000 | ~238 GB | ~7% |
| 512 GB SSD | 512,000,000,000 | ~477 GB | ~7% |
| 1 TB HDD | 1,000,000,000,000 | ~931 GB | ~7% |
| 2 TB HDD | 2,000,000,000,000 | ~1,863 GB | ~7% |
| 4 TB HDD | 4,000,000,000,000 | ~3,726 GB | ~7% |
Complete Comparison Table
| Decimal (SI) | Value | Binary (IEC) | Value |
|---|---|---|---|
| 1 KB | 1,000 B | 1 KiB | 1,024 B |
| 1 MB | 106 B | 1 MiB | 220 B = 1,048,576 B |
| 1 GB | 109 B | 1 GiB | 230 B = 1,073,741,824 B |
| 1 TB | 1012 B | 1 TiB | 240 B |
| 1 PB | 1015 B | 1 PiB | 250 B |
| 1 EB | 1018 B | 1 EiB | 260 B |
Real-World File Sizes
To give you a feel for these units in everyday life:
- 1 KB — A very short email (text only), a tiny favicon image
- 1 MB — A high-quality JPEG photo, one minute of MP3 audio at 128 kbps
- 1 GB — About 250 MP3 songs, 1 hour of SD video, a large app installer
- 1 TB — About 500 hours of HD video, 250,000 high-quality photos, or 6.5 million document pages
- 1 PB — 13.3 years of continuous HD video, or the estimated storage of a small social media platform
Storage vs Bandwidth: Bytes vs Bits
Network speeds are measured in bits per second, not bytes. This creates another source of confusion:
- A 100 Mbps internet connection = 100 megabits per second
- Divide by 8 to get megabytes: 100 Mbps ≈ 12.5 MB/s max download speed
- So downloading a 1 GB file at 100 Mbps takes at least 80 seconds, not 10
ISPs advertise in bits (bigger number = sounds faster). File sizes are shown in bytes. The conversion: divide bits by 8 to get bytes. Always look for the capitalisation: uppercase B = Bytes, lowercase b = bits. 100 MB ≠ 100 Mb.
Convert data storage units instantly:
💾 Data Storage Converter