Skip to content
mathbehind

Mbps vs MB/s: Why Your Download Is Slower Than Your Plan

Internet plans are sold in megabits, downloads are measured in megabytes, and there are 8 bits in a byte. Here is how to estimate real download times.

By Muhammad Ahmad. Published . 1 min read.

Want to run your own numbers?Download Time CalculatorOpen the calculator

You pay for a 100 Mbps connection, start a big download, and the progress bar says about 11 MB per second. Nothing is broken. The two numbers use different units, and real connections never quite reach the advertised speed.

Bits and bytes

Mbps means megabits per second. MB/s means megabytes per second. A byte is 8 bits, so divide Mbps by 8 to get the most you could see in MB/s. A 100 Mbps connection tops out at 12.5 MB/s.

Estimating a download time

Convert the file size to bits by multiplying by 8, then divide by the connection speed. Then allow for overhead: protocols add their own data, Wi-Fi loses some speed, and the server may be slower than your line. Allowing 10% is a reasonable starting point.

A 5 GB file on a 100 Mbps connection
  1. At full speed

    5 GB × 8 bits ÷ 100 Mbpsequals6m 40s

  2. Allowing 10% overhead

    6m 40s ÷ (1 − 10%)equals7m 24s

At that 10% allowance, your effective speed is 90 Mbps, or 11.25 MB/s, which is about what the progress bar shows.

More examples

  • A 50 GB game on a 300 Mbps connection: about 22 minutes at full speed, or 24m 41s with 10% overhead.
  • A 2 GB video uploaded at 20 Mbps: 13m 20s at full speed, or 14m 49s with overhead. Upload speeds are often much lower than download speeds on home plans.

Why it may be slower still

  • Wi-Fi, especially through walls or far from the router.
  • Other devices on the same network streaming or downloading.
  • The server you download from limiting each connection.
  • Busy evening hours on your provider's network.

Tip: To test your real speed, plug a computer into the router with a cable and run a speed test. If it is close to your plan, the bottleneck is Wi-Fi or the server, not your line.