Megabit (Mbps) vs Megabyte (MB/s): Why your internet feels 'slow'
I remember the first time I got "High Speed" internet. The box said 100 Mbps, but when I started downloading a game, Steam told me I was only getting 12 MB/s.
I felt cheated! Was the ISP lying? Did my router have a leak?
It turns out, they were both right. They were just measuring the same thing with two different rulers.
The Big Picture: Bits vs. Bytes¶
The secret is in the letter B. - Small b = bit (the tiniest piece of data, a 1 or a 0) - Big B = Byte (a group of 8 bits)
graph LR
subgraph "1 Byte (B)"
b1[bit] --- b2[bit] --- b3[bit] --- b4[bit] --- b5[bit] --- b6[bit] --- b7[bit] --- b8[bit]
end
style b1 fill:#f9f,stroke:#333
style b2 fill:#f9f,stroke:#333
style b3 fill:#f9f,stroke:#333
style b4 fill:#f9f,stroke:#333
style b5 fill:#f9f,stroke:#333
style b6 fill:#f9f,stroke:#333
style b7 fill:#f9f,stroke:#333
style b8 fill:#f9f,stroke:#333 The 8x Rule¶
To get from bits to Bytes, you just divide by 8. To get from Bytes to bits, you multiply by 8.
The Math: 100 Megabits ÷ 8 = 12.5 Megabytes
So my "12 MB/s" download was actually exactly what I paid for!
Wait, but why?¶
Why do ISPs use bits while my browser uses Bytes?
- Networking is serial: When data travels over a wire, it's sent one bit at a time. It makes sense to count them individually.
- Marketing: "100" looks a lot more impressive on a billboard than "12.5".
- Storage is grouped: Your computer's RAM and hard drive think in groups of 8 bits (Bytes). It's the standard unit for "how much stuff do I have?"
Common gotchas¶
- I always forget to check the case of the 'b'. If it's
Mbps, it's bits. If it'sMB/s, it's Bytes. - Watch out for overhead: Even if the math says 12.5 MB/s, you'll probably only see ~11 MB/s. Some bits are "wasted" on headers and instructions (like the address on an envelope).
Try it yourself¶
Next time you're downloading a large file: 1. Look at the download speed in your browser (it's usually in MB/s or KB/s). 2. Multiply that number by 8. 3. Compare that to the speed you're paying for in your ISP contract.
If you get ~1.2 MB/s on a 10 Mbps connection, everything is working perfectly!
Further reading¶
- Kibibyte vs Kilobyte – My other post on why 1,000 isn't always 1,024.
- The TCP Overhead – Why you never get the full theoretical speed.
— Nadeem ⚡