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.