Storage

GB vs GiB

A gigabyte (GB) is 1,000,000,000 bytes, the way drive makers count. A gibibyte (GiB) is 1,073,741,824 bytes, the way memory and many operating systems count. The gap is why a drive shows up smaller than its label.

Two ways to count a gigabyte

Giga means a billion, so a gigabyte is 1,000,000,000 bytes. Computers count in powers of two, and 2 to the 30th power is 1,073,741,824 bytes. For years both were called a gigabyte. In 1998 the IEC approved binary prefixes: kibi, mebi, gibi and tebi, written KiB, MiB, GiB and TiB. A GB is decimal and a GiB is binary. NIST notes that these new prefixes aren't part of the SI.

The gap widens with every step up, because each prefix multiplies the difference again. A KiB is 2.4% bigger than a KB, a MiB is 4.9% bigger than a MB, a GiB is 7.4% bigger than a GB and a TiB is 10% bigger than a TB.

Why a 1 TB drive shows less space

Drive makers count in decimal. WD's data sheets say it outright: 1 GB is 1 billion bytes and 1 TB is 1 trillion bytes. Windows counts the same bytes in binary but keeps the labels GB and TB, so a 1 TB drive appears as about 931 GB. Nothing is missing. It's the same number of bytes in a different unit, and the file system takes a small slice on top. macOS counts in decimal, so the same drive reads 1 TB there. Some Linux tools, like the GNOME partition editor, use the IEC names and show GiB.

In GiB, the common drive sizes come out like this:

  • 500 GB: 466 GiB
  • 1 TB: 931 GiB
  • 2 TB: 1,863 GiB
  • 4 TB: 3,725 GiB

A 16 TB drive is 14.6 TiB. RAID arrays carry the same gap. Four 4 TB drives in RAID 5 hold 12 TB, which is 10.9 TiB, and the RAID Calculator shows both.

Where binary counting is normal

Memory is binary. Chips are built in powers of two, so a 16 GB memory kit holds 16 GiB, which is 17.18 GB in decimal. The kit's label uses the decimal prefix for a binary size.

Network speeds go the other way. A gigabit link carries 10^9 bits per second, so the Data Transfer Calculator counts file sizes in decimal, the way drive makers do. The LLM VRAM Calculator shows a model's memory in both GB and GiB.

Converting between them

To turn decimal into binary, divide by the size of the binary unit. A quick shortcut: multiply GB by 0.931 to get GiB, and multiply TB by 0.909 to get TiB. Going back, divide by those factors.

When two numbers don't match, look at the letters before you look for missing space. A lowercase i in the middle, as in GiB, means binary. Plain GB can mean either, depending on the tool, and that's the confusion the IEC names were meant to remove.

Work it out yourselfOpen the Data Transfer Calculator

Sources

Back to the glossary