0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Capacity to convert
Convert a capacity between the decimal units drive makers use (kB, MB, GB, TB), the binary units your operating system reports (KiB, MiB, GiB, TiB) and the bits networks are measured in. Enter the value and you will get every equivalence, plus the reason a 1 TB drive shows up as 931 GB on your computer.
The capacity as printed on the box or reported by the system
TB is what the box says; TiB is what the system counts
Common capacities
The box versus the operating system
1 TBWhat the manufacturer says
931.3226 GB What the system shows 931.3226 GiB in real units
Bytes1,000,000,000,000
The manufacturer counts 1,000 GB because for them every prefix is 1000 bytes. The operating system measures those same 1,000,000,000,000 bytes in powers of 1024 and shows 931.3226 GB, even though they are really 931.3226 GiB: the number on screen ends up 6.87 % smaller without a single byte going missing.
Equivalences
Decimal (SI) · powers of 1000
Bbyte1,000,000,000,000
kBkilobyte1,000,000,000
MBmegabyte1,000,000
GBgigabyte1,000
TBterabyte1
PBpetabyte0.001
EBexabyte0.000001
Binary (IEC) · powers of 1024
KiBkibibyte976,562,500
MiBmebibyte953,674.3164
GiBgibibyte931.3226
TiBtebibyte0.9095
PiBpebibyte0.0008882
EiBexbibyte0.0000008674
Bits · 8 bits per byte
bitbit8,000,000,000,000
kbitkilobit8,000,000,000
Mbitmegabit8,000,000
Gbitgigabit8,000
Tbitterabit8
Prefix by prefix
Prefix
Decimal
Binary
Difference
Kilo
1 kB1,000 B
1 KiB1,024 B
+2.4 %1 kB = 0.977 KiB
Mega
1 MB1,000,000 B
1 MiB1,048,576 B
+4.86 %1 MB = 0.954 MiB
Giga
1 GB1,000,000,000 B
1 GiB1,073,741,824 B
+7.37 %1 GB = 0.931 GiB
Tera
1 TB1,000,000,000,000 B
1 TiB1,099,511,627,776 B
+9.95 %1 TB = 0.909 TiB
Peta
1 PB1,000,000,000,000,000 B
1 PiB1,125,899,906,842,624 B
+12.59 %1 PB = 0.888 PiB
Exa
1 EB1,000,000,000,000,000,000 B
1 EiB1,152,921,504,606,847,000 B
+15.29 %1 EB = 0.867 EiB

The binary prefixes KiB, MiB, GiB and TiB have been standardised since 1998 by the IEC (standard 80000-13) precisely to avoid this ambiguity. Linux and macOS already honour them; Windows Explorer still labels as GB what is really GiB.

How it works

Storage units are counted in two different ways and both of them are correct. The decimal system, the one used by drive manufacturers and by the International System of Units, multiplies by 1000 at every prefix: a kB is 1,000 bytes, an MB is a million and a TB is a trillion. The binary system, the one born with computers, multiplies by 1024, because memory and buses are addressed in powers of two.

The problem is that for decades both systems used the same names. When Windows Explorer says "GB" it is really calculating gibibytes, that is, dividing by 1024 three times. That is why a 1 TB drive, which holds exactly a trillion bytes, appears on screen as 931.32 GB: nothing is missing, only the counting rule changed. Since 1998 the IEC 80000-13 standard settles the ambiguity with the binary prefixes KiB, MiB, GiB and TiB.

This tool converts a capacity across all three families at once —decimal, binary and bits— and shows the exact byte count, the figure the manufacturer states and the one the operating system will display, along with the percentage between them. Everything is calculated in your browser.

Examples

1 TB931,32 GBThe drive holds 1,000,000,000,000 bytes, exactly what the box promises. The system divides them by 1024 three times and shows 931.32 GB, which are strictly 931.32 GiB. On screen almost 69 GB seem to be missing; on the drive not a single byte is.
1 GiB1073741824 BA gibibyte is 2^30 bytes. A decimal gigabyte is 1,000,000,000, so the binary one is 7.37 % larger. It is the same gap that separates what you mean when you ask for "a gig" from what each program understands.
4 TB3,64 TiBThe bigger the prefix, the further apart the two systems drift: 2.34 % at kilo, 6.87 % at giga and 9.05 % at tera. That is why the "small drive" feeling gets worse precisely with large drives.
100 Mbit12,5 MBNetwork links are measured in bits and storage in bytes. A 100 Mbit/s link downloads at most 12.5 MB per second, because each byte is 8 bits. That single calculation explains half the complaints filed against internet providers.

Use cases

  • Understand why a 1 TB drive or a 64 GB flash drive show less capacity than the package claims.
  • Turn the byte count returned by an API, a log or the ls -l command into something readable.
  • Compare the size of a backup or an image across two tools that measure with different rules.
  • Size quotas, volumes or upload limits when the documentation talks in MiB and the interface in MB.
  • Convert a link speed in Mbit/s into the actual download speed in MB/s.
  • Show a client, with numbers, that the drive they bought does not come with less space than promised.

Frequently asked questions

I bought a 1 TB drive and I see 931 GB, was I ripped off?

No. The drive holds 1,000,000,000,000 bytes, which is what 1 TB means in the decimal system every manufacturer uses. Windows takes those same bytes, divides them by 1024 three times, gets 931.32 and then labels the result "GB" instead of "GiB". It is a labelling problem, not a capacity one: every byte is there. What you do lose for real, and separately, is whatever the file system reserves when formatting.

What is the difference between GB and GiB?

A GB is 1,000,000,000 bytes (10^9) and a GiB is 1,073,741,824 (2^30). The gibibyte is 7.37 % larger. The same ratio repeats at every level: kB versus KiB, MB versus MiB, TB versus TiB. The binary symbols carry an "i" in the middle and are pronounced kibi, mebi, gibi and tebi.

Do all operating systems show the same figure?

No, and that adds to the confusion. Windows computes in powers of 1024 but labels the result GB and TB, so it shows 931 GB for a 1 TB drive. macOS has measured in decimal since 2009, so the same drive appears as 1 TB. On Linux it depends on the tool: df -h and ls -lh use 1024, df -H and ls -l --si use 1000, and many utilities already write GiB where appropriate. The drive never changed; who measures it did.

Why does RAM match what the box says?

Because memory is built and addressed in powers of two: a "16 GB" module really holds 16 GiB, that is 17,179,869,184 bytes. Since the operating system also counts in binary, both numbers agree and nobody notices a thing. With drives the opposite happens: the manufacturer counts in decimal and the system in binary, and the gap is impossible to miss.

How much does the difference grow with each prefix?

It compounds by 2.4 % per level. The number shown by the system is 2.34 % smaller at kilo, 4.63 % at mega, 6.87 % at giga, 9.05 % at tera, 11.18 % at peta and 13.26 % at exa. That is why on a file of a few kB the difference is imperceptible, while on an array of several petabytes it amounts to hundreds of terabytes of expectation.

Is an Mbit the same as an MB?

No, and the difference is eightfold. Network links are measured in bits per second and storage in bytes, and a byte is 8 bits. A 300 Mbit/s link delivers at most 37.5 MB/s of download, before subtracting protocol overhead. On top of that, network prefixes are always decimal: an Mbit is one million bits, never 1,048,576.

Why is my SSD missing even more space?

Two things pile on top of the decimal versus binary gap. The first is over-provisioning: the controller keeps a slice of the flash memory, which cannot be used, to replace worn-out blocks and speed up writes. The second is the file system, which eats space in tables, journal and metadata the moment you format. Neither one is a fault: they are the price of the drive lasting and working.

So which unit should I use when writing documentation?

The one that leaves no doubt. If the value is computed with powers of 1024, write MiB or GiB; if it is computed with powers of 1000, write MB or GB. In an API or a configuration file the safest bet is to expose the byte count directly and let the interface decide how to display it. That is one line of code that saves hours of arguing about why two tools report different figures for the same file.