Mbps vs MB/s: why your 100 Mbps line downloads at 12 MB/s

Updated 22 September 2026 · SpeedMeter

You pay for 100 Mbps. Your browser says the file is downloading at 11.8 MB/s. Nothing is wrong — but the reason is a unit choice made decades ago that has confused people ever since.

Bits and bytes are not the same thing

A bit is a single 1 or 0. A byte is eight bits. Roughly one text character.

Network speeds are measured in bits per second. File sizes and download managers are measured in bytes per second. The abbreviations are almost identical, which is the whole problem:

One capital letter, a factor of eight.

The conversion

Divide Mbps by 8 to get MB/s. Multiply MB/s by 8 to get Mbps.

Plan speedTheoretical maximumRealistic download
10 Mbps1.25 MB/s~1.1 MB/s
25 Mbps3.1 MB/s~2.8 MB/s
50 Mbps6.25 MB/s~5.7 MB/s
100 Mbps12.5 MB/s~11.5 MB/s
500 Mbps62.5 MB/s~57 MB/s
1 Gbps125 MB/s~112 MB/s

So 11.8 MB/s on a 100 Mbps line is not a rip-off. It is 94% of the theoretical maximum — an excellent result.

Where the missing few percent goes

The gap between theoretical and realistic is protocol overhead. Your data does not travel alone; it travels wrapped in headers that tell the network where it is going.

Each packet carries an Ethernet frame header, an IP header, and a TCP header — roughly 58 bytes of addressing wrapped around a payload of about 1,460 bytes. That alone is about 4%. Add TLS encryption on HTTPS, the acknowledgements travelling back, and occasional retransmissions, and 5–10% overhead is normal and unavoidable.

A speed test that reports a number suspiciously close to your exact plan speed is probably measuring the raw link rather than what you can actually use.

The other ambiguity: mega vs mebi

There is a second, smaller discrepancy. Networking uses decimal units, where 1 megabit is exactly 1,000,000 bits. Operating systems have traditionally used binary units, where 1 MB means 1,048,576 bytes — 4.9% larger.

This is why a "500 GB" drive shows as 465 GB in Windows. The correct binary terms are mebibyte (MiB) and gibibyte (GiB), and macOS and Linux now use decimal units correctly, but Windows still labels binary units with decimal names. It is a small effect compared to the factor of eight, but it stacks with it.

A quick sanity check

To estimate a download time: file size in GB × 8, divided by your speed in Mbps, gives minutes — roughly.

A 60 GB game on a 200 Mbps line: 60 × 8 = 480; 480 ÷ 200 = 2.4 — so about 2.4 minutes per... no: that gives minutes only when you also divide by 60. Let us do it properly.

60 GB is 480 gigabits, or 480,000 megabits. At 200 Mbps that is 2,400 seconds — 40 minutes. The reliable method: convert everything to bits, divide by your speed in bits per second, and you have seconds.

Why providers advertise in bits

Partly history — networking has always measured in bits per second, going back to modems, and it is genuinely the right unit for a transmission line. Partly, it must be said, because the number is eight times larger.

Whatever the reason, it is now standard worldwide, and every speed test including this one reports in Mbps so you can compare like with like against your plan.

Quick reference

Measure your own connection

Numbers in a guide only go so far. Test your line and compare it with what you have just read.

Run a free speed test