MB or MiB, Mbps or MB/s: file sizes and speeds explained

Updated:

A new 1 TB drive shows as 931 GB, a 100 Mbps connection downloads at 12 MB/s, and the same file is 4.7 GB on one computer and 4.4 GB on another. Nothing is missing in any of these cases. Two different things are going on: sizes are counted in steps of 1,000 by some and 1,024 by others, and speeds are measured in bits while files are measured in bytes. This guide sorts out both, with the numbers worked out.

A byte is eight bits

A bit is a single 0 or 1; a byte is a group of eight bits, enough for one letter of plain text. The symbols differ only by case: b is a bit and B is a byte, so Mb is a megabit and MB a megabyte, eight times larger. Storage and file sizes are counted in bytes; connection speeds are counted in bits per second, written Mbps, Mb/s or Mbit/s.

Two ways to count: 1,000 or 1,024

In the International System of Units, kilo means 1,000, mega a million and giga a billion, and the BIPM, which keeps the system, says these prefixes refer strictly to powers of 10: “one kilobit represents 1000 bits and not 1024 bits”. Computer memory, however, comes in powers of two, and for decades 1,024 bytes were called a kilobyte. To end the ambiguity, the IEC approved separate binary prefixes in December 1998: kibi (Ki), mebi (Mi), gibi (Gi), tebi (Ti), now part of IEC 80000-13.

DecimalBytesBinaryBytesBinary is larger by
1 kB1,0001 KiB1,0242.4%
1 MB1,000,0001 MiB1,048,5764.9%
1 GB1,000,000,0001 GiB1,073,741,8247.4%
1 TB1,000,000,000,0001 TiB1,099,511,627,77610.0%

The gap grows with every step, so it is small for a photo and large for a drive. Many programs still use the binary values with the decimal names, which is where the confusion comes from: a “GB” on screen may mean either.

Human-readable units

Who counts which way

Drive and memory-card makers, and internet providers, use decimal units: a 1 TB drive holds 1,000,000,000,000 bytes, and Apple's own packaging note reads “1GB = 1 billion bytes”. Apple devices have shown storage in decimal units too since OS X Snow Leopard and iOS 11; Apple's support page says iOS 10 and earlier and OS X Leopard and earlier counted in binary.

Windows File Explorer shows binary values with decimal names: its KB is 1,024 bytes, a choice Microsoft's Raymond Chen explained in 2009 as following existing practice. On Linux, ls -h, df -h and du -h use powers of 1,024 with letters K, M and G, while --si switches to powers of 1,000, as the GNU coreutils manual describes. Memory chips follow JEDEC, the semiconductor standards body, whose dictionary defines mega for storage capacity as 1,048,576, so 8 GB of RAM is 8 GiB.

WhereCounts inA 1 TB drive shows as
Drive packaging, internet speedsdecimal (1,000)1 TB
macOS and iOS todaydecimal (1,000)1 TB
Windows File Explorerbinary (1,024), labelled KB, MB, GB931 GB
Linux ls -h / df -hbinary (1,024), labelled K, M, G932G (931.32 rounded up)
RAM modulesbinary (1,024)—

Why a new drive looks smaller

A drive sold as 1 TB has 1,000,000,000,000 bytes. Divided by 1,073,741,824, the bytes in a gibibyte, that is 931.32, which Windows shows as 931 GB. The bytes are all there; only the unit has changed. The formatted capacity is a little lower still, because the file system keeps some space for its own records.

Sold asBytesShown in binary units
64 GB64,000,000,00059.60 GiB
256 GB256,000,000,000238.42 GiB
512 GB512,000,000,000476.84 GiB
1 TB1,000,000,000,000931.32 GiB
2 TB2,000,000,000,0001,862.65 GiB (1.82 TiB)
4 TB4,000,000,000,0003,725.29 GiB (3.64 TiB)

Connection speeds: Mbps against MB/s

Internet and network speeds are quoted in bits per second, and always in decimal units: 100 Mbps is 100,000,000 bits per second. To compare with a download counter in megabytes per second, divide by eight. Download programs and browsers often show binary units, which makes the figure smaller again.

ConnectionMegabytes per second (MB/s)Mebibytes per second (MiB/s)
10 Mbps1.251.19
50 Mbps6.255.96
100 Mbps12.511.92
300 Mbps37.535.76
500 Mbps62.559.60
1 Gbps125119.21

These are ceilings. Every packet also carries addresses and control data: an ordinary 1,500-byte packet has at least 20 bytes of IPv4 header and 20 of TCP header, so at most 1,460 bytes, about 97%, are file data, and Ethernet or Wi-Fi add framing of their own. Wi-Fi signal, a busy server or other devices on the line usually cost more than that, which is why a 100 Mbps line rarely downloads faster than about 11 to 12 MB/s.

How long a download takes

Multiply the size in bytes by eight to get bits, then divide by the speed in bits per second. A 4 GB game on a 100 Mbps connection: 4,000,000,000 × 8 ÷ 100,000,000 = 320 seconds, 5 minutes 20 seconds at best. 50 GB at 300 Mbps takes 22 minutes 13 seconds. Upload speeds on home connections are often much lower than download speeds, so sending the same file can take many times longer.

Download time

Writing sizes without ambiguity

When the exact number matters, in a contract, a specification or a support ticket, write the binary prefix when you mean 1,024: 512 MiB, 16 GiB. When you write MB or GB, use them in the decimal sense, as storage makers and network operators do. For speeds, keep bits and bytes apart with the case of the letter, and write Mbit/s or MB/s if the reader might confuse them.

Frequently asked questions

Is a kilobyte 1,000 or 1,024 bytes?

Officially 1,000; 1,024 bytes is a kibibyte (KiB). In everyday use, and in Windows, kilobyte often still means 1,024, so check which one a program uses.

Why does my 100 Mbps internet download at 12 MB/s?

Because the speed is in megabits and the download in megabytes: 100 divided by 8 is 12.5 MB/s, and packet headers and other traffic take a little more.

Why does the same file show different sizes on two computers?

One is counting in decimal units and the other in binary. A file of 4,700,000,000 bytes is 4.7 GB on a Mac and about 4.4 GB in Windows, which divides by 1,073,741,824.

Is 8 GB of RAM the same as 8 GB of storage?

No. Memory is counted in binary, so 8 GB of RAM is 8 GiB, 8,589,934,592 bytes; 8 GB of storage is 8,000,000,000 bytes.

What do Mbps, Mb/s and Mbit/s mean?

All three are megabits per second. MB/s, with a capital B, is megabytes per second, eight times more.

References

  1. BIPM — The International System of Units (SI Brochure, 9th edition), chapter 3: SI prefixes
  2. NIST — Prefixes for binary multiples (IEC, December 1998)
  3. Apple Support — How storage capacity is measured on Apple devices
  4. Raymond Chen, The Old New Thing — Why does Explorer use the term KB instead of KiB? (June 2009)
  5. GNU Coreutils manual — Block size (-h and --si)
  6. JEDEC dictionary — mega (M) as a prefix to units of semiconductor storage capacity
  7. RFC 791 — Internet Protocol (IPv4 header)
  8. RFC 9293 — Transmission Control Protocol (TCP header)
  9. RFC 894 — Transmission of IP datagrams over Ethernet networks (1,500-byte maximum)

Related guides