Why Your 1 TB Drive Shows Only 931 GB (and Where the Space Went)

You buy a 1 TB external drive, plug it in, and Windows reports 931 GB. Nothing is broken and nobody stole 69 gigabytes. The manufacturer and your operating system are simply counting with two different rulers — and both of them call their unit a “gigabyte”.

This article explains the two rulers, shows the exact math, and gives you a quick way to check any storage or internet-speed figure yourself.

Two meanings of “kilo”

Everywhere else in science, kilo means 1,000. A kilometer is 1,000 meters, a kilogram is 1,000 grams. Storage manufacturers follow this decimal (SI) convention:

Unit Bytes (decimal)
1 kilobyte (kB) 1,000
1 megabyte (MB) 1,000,000
1 gigabyte (GB) 1,000,000,000
1 terabyte (TB) 1,000,000,000,000

Computers, however, address memory in powers of two. Early on, programmers noticed that 2¹⁰ = 1,024 is close enough to 1,000 and started calling 1,024 bytes a “kilobyte”. The habit stuck, and each step up multiplies by 1,024 instead of 1,000.

Because the gap grows with every step, the error that was only 2.4 % at the kilobyte level becomes almost 10 % at the terabyte level:

Prefix Decimal value Binary value Difference
kilo 10³ 2¹⁰ = 1,024 2.4 %
mega 10⁶ 2²⁰ = 1,048,576 4.9 %
giga 10⁹ 2³⁰ = 1,073,741,824 7.4 %
tera 10¹² 2⁴⁰ = 1,099,511,627,776 10.0 %

The fix nobody uses: kibibytes

In 1998 the International Electrotechnical Commission (IEC) introduced separate names for the binary units to end the confusion:

Linux tools and many technical programs use these names. Windows, however, still calculates in binary units while labelling them GB. macOS switched to decimal units in 2009, which is why the same drive shows as 1 TB on a Mac and 931 GB on a PC.

The exact math for a 1 TB drive

The drive really contains 1,000,000,000,000 bytes. Windows divides by 1,073,741,824 (one gibibyte):

1,000,000,000,000 ÷ 1,073,741,824 = 931.32 GiB

That is the number Windows shows, just with “GB” written next to it. You can check any other size the same way, or use the terabyte to gibibyte converter:

Advertised size Shown by Windows
128 GB 119.2 GB
256 GB 238.4 GB
512 GB 476.8 GB
1 TB 931.3 GB
2 TB 1.82 TB
4 TB 3.64 TB

A freshly formatted drive will usually show slightly less still, because the file system reserves some space for its own bookkeeping. Pre-installed recovery partitions on laptops take another bite.

RAM is the exception

Memory chips are built in powers of two, so RAM is sold in binary units. A “16 GB” memory module really holds 16 GiB (17,179,869,184 bytes), and your system will report the full 16 GB — minus any portion reserved for integrated graphics.

Bits versus bytes: the internet-speed trap

A second, even bigger mix-up hides in internet speeds. Network speeds are measured in bits per second, while file sizes are measured in bytes. One byte is 8 bits.

So a “100 Mbps” connection (100 megabits per second) transfers at most:

100 ÷ 8 = 12.5 megabytes per second

A 1 GB file therefore needs at least 80 seconds on that connection, not 10. Real downloads are usually a little slower again because of protocol overhead. The lower-case b in Mbps means bits; the upper-case B in MB/s means bytes. Our megabits per second to megabytes per second converter does the division for you.

Advertised speed Best-case download speed
50 Mbps 6.25 MB/s
100 Mbps 12.5 MB/s
300 Mbps 37.5 MB/s
1 Gbps 125 MB/s

How to tell which unit you are looking at

A few rules of thumb:

  1. Drive packaging, SSD spec sheets, and cloud storage plans use decimal units (1 GB = 1,000,000,000 bytes).
  2. Windows Explorer uses binary units but labels them GB.
  3. macOS (since 10.6) and iOS use decimal units.
  4. Linux tools vary: some print GiB, some print G meaning binary, and many accept a flag to switch.
  5. Internet plans and Wi-Fi speeds use bits, not bytes.
  6. RAM uses binary units.

If a number looks about 7 % or 10 % too small, you are almost certainly looking at the same quantity measured with the other ruler.

Key takeaways

To convert between any of these units — decimal, binary, bits and bytes — use the data storage converter or the data transfer rate converter.