kB vs KiB Converter — Why 1 TB Shows as 931 GB

kB vs KiB Converter — Why 1 TB Shows as 931 GB

Decimal kB, MB, GB, TB against binary KiB, MiB, GiB, TiB, with bits in the same ladder and a transfer time. A 1 TB drive is 931.32 GiB — and Windows prints that number labelled “GB”, which is the whole of the confusion.

Bytes, bits, and the 1024-against-1000 question

Any unit → every unit, plus a transfer time
The default is one terabyte — the drive on the shelf that Windows will call 931 GB.
The “i” is the whole story: kB is 1000 bytes and KiB is 1024. Note also that the bit units are an eighth of the byte units of the same name, which is a second factor sitting on top of the first.
For the transfer-time rows. Leave it alone if you only want the size conversion.
Network speeds are quoted in BITS per second and are decimal; file managers report BYTES per second. That is a factor of eight, and it is the commonest arithmetic error in computing.
A scale drawing, not a circuit: the two ladders side by side. Each ROW is one step up the ladder, and within a row the upper bar is one decimal unit and the lower bar one binary unit of the same name, drawn to the same scale. The decimal bar is therefore the same length on every row — that is the normalisation — and the binary bar grows: 2.4% longer at kilo, 4.86% at mega, 7.37% at giga, 9.95% at tera, 12.59% at peta, because each step multiplies the discrepancy by 1.024 again. The vertical line is where the number on the box stops. On the tera row, that line is exactly the 1 TB drive: the drive fills the decimal bar completely and reaches 90.9% of the way along the binary one, which is why an operating system counting in 1024s calls it 931.32 of something and then prints the wrong name for it. The box on the left marks which rung your own figure sits on.
1TBExample

one terabyte — the drive on the shelf

Advertisement

Two definitions, nothing more

kB = 10³ B  ·  MB = 10⁶ B  ·  GB = 10⁹ B  ·  TB = 10¹² B
KiB = 2¹⁰ = 1024 B  ·  MiB = 2²⁰ B  ·  GiB = 2³⁰ B  ·  TiB = 2⁴⁰ B
1 byte = 8 bits  ·  time = size ÷ speed
kB, MB, GB, TB
the SI decimal prefixes, powers of 1000. What drive makers and network operators use
KiB, MiB, GiB, TiB
the IEC binary prefixes, powers of 1024, from IEC 80000-13. What operating systems and RAM use
bit
an eighth of a byte. Line speeds are in bits per second; file sizes are in bytes

Worked example

one terabyte — the drive on the shelf
A 1 TB drive is 1,000,000,000,000 bytes, because drive makers use the SI prefixes correctly: tera is 10¹²
Windows counts in gibibytes: 10¹² ÷ 1024³ = 931.3226 — and prints that number labelled “GB”
So the “missing” 68.7 units are not missing at all. The drive is 931.32 GiB and 1,000 GB at the same time, and both statements are exact
In tebibytes it is 0.9095 TiB, which is where the 9.95% figure comes from: 1024⁴/10¹² = 1.099512
At 100 Mbit/s — 12.5 MB/s — copying it takes 80,000 seconds, or 22.22 hours. Divide by 100 million instead of 12.5 million and you get 2.78 hours, which is the bit/byte error in one line

The two ladders, and the gap that compounds

Decimal (SI)BytesBinary (IEC 80000-13)BytesBinary is larger by (%)So a “1 decimal unit” device shows as
kB (kilobyte)1,000KiB (kibibyte)1,0242.40000.976563
MB (megabyte)1,000,000MiB (mebibyte)1,048,5764.85760.953674
GB (gigabyte)1,000,000,000GiB (gibibyte)1,073,741,8247.37420.931323
TB (terabyte)1,000,000,000,000TiB (tebibyte)1,099,511,627,7769.95120.909495
PB (petabyte)1,000,000,000,000,000PiB (pebibyte)1,125,899,906,842,62412.59000.888178
EB (exabyte)1,000,000,000,000,000,000EiB (exbibyte)1,152,921,504,606,846,97615.29220.867362
The gap is 1024/1000 = 1.024 at each step, so it compounds: 2.4% at kilo, 7.37% at giga, 9.95% at tera, 15.29% at exa. The last column is the one that gets asked about — a 1 TB drive of 10¹² bytes is 931.3226 GiB and 0.9095 TiB. Nothing is missing and nothing is lying; the drive genuinely holds 10¹² bytes and the operating system genuinely counts them in units of 1024. Every figure in this table is computed from the two definitions, not quoted.

Which convention each system uses, and what it calls it

WhereCounts inPrintsConsequence
Hard drive and SSD capacity on the box1000sGB, TB — correctlyA 1 TB drive is 10¹² bytes. This is the honest end of the chain
Windows Explorer and Properties1024s“KB”, “MB”, “GB”, “TB” — the SI symbolsTHIS IS THE MISLABELLING. A 1 TB drive shows as 931 “GB”, which is really 931.32 GiB. Wikipedia’s worked case is a 400 GB drive displaying as “372 GB”, and 400×10⁹/2³⁰ is 372.53
macOS, since 10.6 Snow Leopard (2009)1000sGB, TBApple changed it deliberately, “as commonly used by hard disk manufacturers”. So the same drive reads ~1 TB on a Mac and 931 GB on a PC, and neither is broken
Linux: df -h, du -h, ls -lh1024sK, M, G, TCorrect in substance, ambiguous in symbol — the same letters as the decimal units. df -H or –si switches to 1000s and prints the SAME letters
Linux: a SIZE argument like -BK or 10K1024sKAnd the convention inverts: on the command line K means 1024 while KB means 1000, which is the opposite of the SI rule
RAM, DIMM and cache sizes1024sGB (JEDEC usage)Always binary, and for a real reason: memory is addressed by binary address lines, so its natural sizes ARE powers of two. A 16 GB module is 16 GiB
Network throughput, ISP line speeds1000sMbit/s, Gbit/sDecimal AND in bits, so an eighth on top of the prefix question. 100 Mbit/s is 12.5 MB/s at best
Optical media: the 1.44 MB floppyboth at once“1.44 MB”A 1,474,560-byte disk: 1440 KiB, quoted as 1.44 “MB” by dividing by 1024 once and by 1000 once. There is no defensible unit in which that disk is 1.44 of anything
The row that answers the question is the second one. Windows does not compute the wrong number — it computes a gibibyte count, which is a perfectly sensible thing to want — it prints the wrong SYMBOL for it. If Explorer wrote “931 GiB” the question would never have been asked. The floppy row is in the table because it is the only case where the two conventions were genuinely mixed inside a single number, and the result is a unit that does not exist.

Bits and bytes: the second factor of eight

QuotedIn bits per secondIn bytes per secondTime for 1 GB (10⁹ B)Time for 1 TB
10 Mbit/s10,000,0001,250,000800.0 s222.22 h
100 Mbit/s100,000,00012,500,00080.0 s22.22 h
1 Gbit/s1,000,000,000125,000,0008.0 s2.22 h
40 Mbit/s40,000,0005,000,000200.0 s55.56 h
500 Mbit/s500,000,00062,500,00016.0 s4.44 h
A megabit is an eighth of a megabyte and the two are written Mb and MB, one letter apart. An ISP sells you bits; a file copy dialog reports bytes; so a 100 Mbit/s line moves a 1 terabyte backup in 22.22 hours at the theoretical maximum, and these figures are ceilings. Real throughput is lower: Ethernet framing costs about 1.6% before TCP/IP headers take roughly another 3%, and a shared line, a slow disk or a single TCP stream over a long path will cost far more than either. Treat the number as the fastest the link could possibly be.

Nothing is missing from your drive

A 1 TB drive shows as 931 GB because two different units are both called “GB”, and Windows prints the wrong one of the two names. Nothing is missing. The drive holds 1,000,000,000,000 bytes, exactly as advertised, because drive makers use the SI prefixes properly: kilo is 1000, mega is 10⁶, giga is 10⁹, tera is 10¹². Windows counts in powers of 1024 instead — 1024, 1024², 1024³, 1024⁴ — because that is the natural unit for addressing memory. Divide 10¹² by 1024³ and you get 931.3226. That number is correct. Its name is gibibytes. Explorer writes “GB”.

The names exist and have done since 1999. IEC 60027-2 Amendment 2 introduced kibi, mebi, gibi and tebi with the symbols Ki, Mi, Gi, Ti; the definitions now live in IEC 80000-13, whose current edition is 2.0, published on 11 February 2025 and replacing the 2008 edition. NIST publishes the table openly: KiB = 2¹⁰ = 1024 bytes, MiB = 2²⁰, GiB = 2³⁰, TiB = 2⁴⁰. The standard is two lines long and there is nothing to argue about. The reason nobody uses the names is that the habit of saying “kilobyte” for 1024 bytes is forty years older than the fix.

The gap compounds, which is why the question gets asked about terabyte drives and not about kilobytes. Each step multiplies the discrepancy by 1.024, so it is 2.4% at kilo, 4.86% at mega, 7.37% at giga and 9.95% at tera. A 1 KB file shown as 1024 bytes upsets nobody; a 69-gigabyte hole in a 1 TB drive gets a support ticket. It is the same 2.4% four times over.

Where each convention is actually used, and why. Drive capacity is decimal, and has been since the beginning. RAM is always binary, and this one is not a convention but a consequence: memory is addressed by binary address lines, so a chip’s capacity is necessarily a power of two, and a 16 GB module really is 16 GiB. File sizes as shown by the operating system are usually binary — Windows always, Linux by default, macOS decimal since Snow Leopard in 2009, which is why the same drive reads differently on a Mac and a PC with neither being wrong. And network throughput is decimal AND in bits, so an extra factor of eight sits on top of everything else: a 100 Mbit/s line is 12.5 MB/s at the absolute best. That factor of eight is a bigger error than the 1024-against-1000 question by a wide margin, and this page handles both in the same dropdown so you can see them together.

A word about the Linux case, because it is subtler than either. GNU coreutils gives df -h as “powers of 1024” and df -H or --si as “powers of 1000” — and prints the same letters K, M, G, T for both. So the letter alone never tells you which you are looking at; the flag does. Worse, inside a SIZE argument the convention flips: the manual says units are “K,M,G,T,P,E,Z,Y,R,Q (powers of 1024) or KB,MB,… (powers of 1000)”, so on the command line 10K is 10240 bytes and 10KB is 10000. That is exactly backwards from the SI rule, and it is documented behaviour rather than a bug.

What this page does. Eighteen units in one ladder, bits and bytes together, decimal and binary side by side, and a transfer time so that the bit/byte factor has somewhere to show itself. Every factor is a definition — 1000ⁿ or 1024ⁿ — so there is no table to disagree with and nothing to be approximately right about. For the other kind of number that looks like one thing and is another, see the aspect ratio calculator, where “21:9” turns out to be three different shapes, and the screen size and viewing distance calculator, where a diagonal turns out not to be a size. For fractions of an inch written as decimals, the inch fraction converter.

Advertisement

Frequently asked questions

Why does my 1 TB drive show as 931 GB?

Because the drive maker counts in 1000s and your operating system counts in 1024s, and both call the result “GB”. 10¹² bytes divided by 1024³ is 931.32, so the drive is 931.32 gibibytes — and Windows prints that number with a “GB” label. Nothing has been lost. Formatting and the filesystem’s own metadata do take a little real space on top, but that is a fraction of a per cent, not the 6.9% the naming collision accounts for.

What is the difference between KB and KiB?

kB is 1000 bytes; KiB is 1024 bytes. The binary prefixes — kibi, mebi, gibi, tebi, with symbols Ki, Mi, Gi, Ti — were standardised in 1999 and are defined in IEC 80000-13, currently edition 2.0 of February 2025. NIST publishes the table. The difference is 2.4% at the kilo step and it compounds to 10.0% by the terabyte.

Is 1 GB 1000 MB or 1024 MB?

1 GB is 1000 MB. 1 GiB is 1024 MiB. If someone says 1024 MB they mean 1 GiB and are using the older informal convention. The practical rule: if the number came off a box or a network bill it is decimal, and if it came out of Windows, a Linux -h flag or a RAM specification it is binary.

Do macOS and Linux do the same thing as Windows?

No, and they do not agree with each other either. macOS has used decimal since Mac OS X 10.6 Snow Leopard in 2009 — Apple’s own note says prefixes are “used in strictly decimal meaning … as commonly used by hard disk manufacturers” — so a 1 TB drive reads about 1 TB on a Mac and 931 GB on a PC. Linux tools default to 1024s with the letters K, M, G, and switch to 1000s with the same letters if you pass -H or –si.

Why is my 100 Mbit/s broadband only giving 12 MB/s?

Because it is quoted in bits and your download shows bytes, and there are 8 bits in a byte. 100 Mbit/s is 12.5 MB/s at the theoretical maximum; 11.93 MB/s or so is what is left after Ethernet framing and TCP/IP headers, and a shared line or a slow disk takes more. That factor of eight is a much bigger discrepancy than the 1024-against-1000 one, and it hides in a single capital letter: Mb against MB.

Is RAM measured in binary or decimal?

Always binary, and for a physical reason rather than a convention: memory is addressed by binary address lines, so a memory chip’s capacity is necessarily a power of two. A “16 GB” DIMM holds 16 × 1024³ bytes — 17,179,869,184 — so it is 16 GiB and also about 17.2 decimal GB. Drive capacity has no such constraint, which is why the two industries diverged.

How long does 1 TB take to transfer?

At 100 Mbit/s, 80,000 seconds — 22.22 hours — at the theoretical maximum, and longer in practice. At 1 Gbit/s it is 17.78 hours. Get the unit right first: if you divide 10¹² bytes by 100 million instead of 12.5 million you will predict 2.78 hours and be wrong by a factor of eight.

Why was the 1.44 MB floppy disk neither 1.44 MB nor 1.44 MiB?

Because its size was computed by dividing by 1024 once and by 1000 once. The disk holds 1,474,560 bytes, which is 1440 KiB; dividing 1440 by 1000 gives “1.44 MB”. In decimal megabytes it is 1.47 MB and in mebibytes 1.41 MiB. It is the one case where the two conventions were mixed inside a single number, and the unit it produced does not exist.

Related calculators

References

  1. IEC 80000-13:2025, Quantities and units – Part 13: Information science and technology, edition 2.0, published 11 February 2025. It replaced IEC 80000-13:2008, which in turn cancelled and replaced subclauses 3.8 and 3.9 of IEC 60027-2:2005 — that amendment, in 1999, is where the binary prefixes were first standardised. The standard itself is paywalled and was NOT read; its definitions are two lines and are taken from NIST below, and the publication and withdrawal dates above are from the IEC webstore’s own record, which was fetched.
  2. National Institute of Standards and Technology. Definitions of the SI units: The binary prefixes (physics.nist.gov/cuu). Fetched. Gives kibi Ki = 210, mebi Mi = 220, gibi Gi = 230, tebi Ti = 240, pebi Pi and exbi Ei, and the worked distinction “1 Kibit = 210 bit = 1024 bit” against “1 kbit = 103 bit = 1000 bit”. It also says why they exist: “computer professionals noticed that 210 was very nearly equal to 1000 and started using the SI prefix kilo to mean 1024”.
  3. GNU coreutils, df(1) and du(1) manual pages (man7.org). “-h, –human-readable: print sizes in powers of 1024 (e.g., 1023M)” against “-H, –si: print sizes in powers of 1000 (e.g., 1.1G)” — the same letter for both. And in a SIZE argument the convention inverts: “Units are K,M,G,T,P,E,Z,Y,R,Q (powers of 1024) or KB,MB,… (powers of 1000)”, so on the command line K is 1024 and KB is 1000.
  4. Apple, Mac OS X 10.6 Snow Leopard (released 28 August 2009). “Prefixes for bytes are now used in strictly decimal meaning (as opposed to their binary meaning) when describing disk space, such that an indicated file size of 1 MB corresponds to 1 million bytes, as commonly used by hard disk manufacturers.” Apple’s own release notes are no longer served; this is the Wikipedia article on Snow Leopard, which cites a macprime.ch report of 19 June 2009.
  5. Wikipedia, Gigabyte. The source for what Windows shows: a 400 GB drive of 400,000,000,000 bytes “displays as 372 GB instead of 372 GiB”. That figure is 400×109/230 = 372.53, so the number is a gibibyte count wearing a gigabyte label, which is the whole of the 931 GB question.