Mbps vs MB/s: why your 100 Mbps line downloads at 12 MB/s
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:
- Mbps — megabits per second. Lowercase b. Your internet plan.
- MB/s — megabytes per second. Uppercase B. Your download progress bar.
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 speed | Theoretical maximum | Realistic download |
|---|---|---|
| 10 Mbps | 1.25 MB/s | ~1.1 MB/s |
| 25 Mbps | 3.1 MB/s | ~2.8 MB/s |
| 50 Mbps | 6.25 MB/s | ~5.7 MB/s |
| 100 Mbps | 12.5 MB/s | ~11.5 MB/s |
| 500 Mbps | 62.5 MB/s | ~57 MB/s |
| 1 Gbps | 125 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
- 8 bits = 1 byte.
- Mbps (small b) = megabits = your internet plan.
- MB/s (capital B) = megabytes = your download speed.
- Divide by 8 to convert plan speed into download speed.
- Expect to reach about 90–95% of the theoretical figure.