toolfree

Data storage converter

Convert between bits, bytes, kilobytes, megabytes, gigabytes and their binary counterparts. Why a 1 TB drive shows as 931 GB.

Runs in your browser

Every data unit, one page

Pick any two units above. The conversions people look up most often have dedicated pages with reference tables, linked below.

There are two systems, and they diverge

This is the only category on the site where the same name means two different quantities depending on who is speaking.

Decimal (SI)BytesBinary (IEC)Bytes
Kilobyte (kB)1000Kibibyte (KiB)1024
Megabyte (MB)1000²Mebibyte (MiB)1024²
Gigabyte (GB)1000³Gibibyte (GiB)1024³
Terabyte (TB)1000⁴Tebibyte (TiB)1024⁴

The gap compounds. At kilobytes it is 2.4%; at terabytes it is 10%:

DecimalBinaryDifference
1 kB / 1 KiB100010242.4%
1 MB / 1 MiB1,000,0001,048,5764.9%
1 GB / 1 GiB1,000,000,0001,073,741,8247.4%
1 TB / 1 TiB10¹²1.0995 × 10¹²10.0%

Why your drive looks smaller than the box said

Drive manufacturers use decimal units, correctly and consistently: a “1 TB” drive holds 1,000,000,000,000 bytes. Windows then reports capacity in binary units while labelling them with decimal names, so it divides by 1024³ and prints “GB”. The result is a drive that is exactly the advertised size but appears to be 7% short:

AdvertisedActual bytesWindows shows
500 GB500,000,000,000465 GB
1 TB1,000,000,000,000931 GB
2 TB2,000,000,000,0001.81 TB
4 TB4,000,000,000,0003.63 TB

Nothing is missing. Two systems are being used at once with one set of names. macOS has reported decimal GB since 2009, which is why the same drive shows a different figure on a Mac than on a PC. See GB to GiB.

RAM goes the other way

Memory really is binary. An “8 GB” stick of RAM holds 8 GiB — 8,589,934,592 bytes — because memory addressing is built on powers of two in a way that disk capacity is not. So the industry’s two halves are inconsistent with each other, not merely with their labels: a “1 TB” SSD is decimal and an “8 GB” DIMM is binary.

Network speeds are in bits, not bytes

A broadband connection sold as “100 Mbps” delivers 100 megabits per second, which is 12.5 megabytes per second. The lower-case b is bits and the upper-case B is bytes, and the factor between them is 8.

ConnectionMegabits per secondMegabytes per second
100 Mbps10012.5
300 Mbps30037.5
500 Mbps50062.5
1 Gbps1000125

Real throughput is lower still — protocol overhead takes a few percent — but the factor of 8 is the whole of the surprise. See bits to bytes.

Where people go wrong

kB, KB and KiB are three spellings and two quantities. SI says the kilo prefix is a lower-case k, so 1000 bytes is kB. KB with a capital is used loosely for both. KiB is unambiguously 1024.

A megabyte was 1,048,576 bytes for decades before it was standardised as 1,000,000. Older documentation, and a good deal of current software, still means the binary figure. The IEC prefixes were introduced in 1998 precisely to end the ambiguity, and have been adopted patchily ever since.