CalcOpenly

Bandwidth and download time calculator

Download or upload time for a file at a given speed, the data a link moves in a set time, and a website's monthly bandwidth from page views.

Updated Checked against 6 worked examples

Internet plans quote megabits per second (Mbit/s); download dialogs often show megabytes per second (MB/s), 8 times smaller.
%
Share of the line rate lost to packet headers. TCP/IPv4 over Ethernet carries 1460 payload bytes per 1538 bytes on the wire, about 5%.
Try
Transfer time
1 h 10 min 10 s
Transfer time: 1 h 10 min 10 s
Transfer time in seconds
4,210.53s
Data
50GB / 46.566GiB
Payload speed after overhead
95Mbit/s

Moving 50 GB at 100 Mbit/s with 5% overhead takes 1 h 10 min 10 s; speeds are in bits and sizes in bytes, so the size is multiplied by 8 first.

Same transfer at other speeds

10 Mbit/s11 h 41 min100 Mbit/s1 h 10 min1 Gbit/s7 min 1 s10 Gbit/s42.1 sYour 100 Mbit/s1 h 10 min
How it's calculated S
  1. Size in bits

    5×1010 B×8=4×1011 bit5 \times 10^{10}\ \text{B} \times 8 = 4 \times 10^{11}\ \text{bit}
  2. Payload speed

    100 Mbit/s×(1−5%)=95 Mbit/s100\ \text{Mbit/s} \times (1 - 5\%) = 95\ \text{Mbit/s}

    Headers, acknowledgements and retransmissions share the line with your data.

  3. Divide size by speed

    t=4×10119.5×107=4,210.53 st = \frac{4 \times 10^{11}}{9.5 \times 10^{7}} = 4{,}210.53\ \text{s}

About the bandwidth and download time calculator

Transfer time is the size in bits divided by the speed in bits per second: t = 8 × bytes ÷ (rate × (1 − overhead)). The factor of 8 is there because internet plans quote megabits per second while files are measured in bytes. The other two modes run the same equation the other way, for the data a link moves in a set time, or multiply page views by page weight for a website's monthly traffic.

The default, a 50 GB download on a 100 Mbit/s plan with 5% protocol overhead, takes 1 h 10 min 10 s; with no overhead it would take 1 h 6 min 40 s. A site with 100,000 monthly views of a 2 MB page serves 200 GB a month.

Real downloads can be slower than the result when the server, Wi-Fi or a congested route caps the speed below the plan's rate. Sizes follow IEC 80000-13: 1 GB is 10^9 bytes and 1 GiB is 2^30 bytes.

Worked examples

50 GB at 100 Mbit/s with no overhead

I want to find
Transfer time
Data size
50 GB
Connection speed
100 Mbit/s
Protocol overhead
0%
Transfer time in seconds
4,000 s
Transfer time
1 h 6 min 40 s

Checked against: Python 3.8: 50e9 × 8 / 100e6 = 4000 s

Same transfer with 5% overhead

I want to find
Transfer time
Data size
50 GB
Connection speed
100 Mbit/s
Protocol overhead
5%
Transfer time in seconds
4,210.53 s
Payload speed after overhead
95 Mbit/s

Checked against: Python 3.8 decimal: 4000 / 0.95 = 4210.526315…

1 GiB at 1 Gbit/s (binary size, edge)

I want to find
Transfer time
Data size
1 GiB
Connection speed
1 Gbit/s
Protocol overhead
0%
Transfer time in seconds
8.59 s

Checked against: Python 3.8: 2**30 × 8 / 1e9 = 8.589934592 s

One hour at 100 Mbit/s

I want to find
Data moved in a time
Connection speed
100 Mbit/s
Time spent transferring
1 h
Protocol overhead
0%
Data
45 GB
Data
41.91 GiB

Checked against: Python 3.8: 100e6 × 3600 / 8 = 45e9 B; 45e9 / 2**30 = 41.90951 GiB

Questions

How long does it take to download 1 GB at 100 Mbps?

About 80 seconds at the full line rate: 1 GB is 8,000 megabits, and 8,000 ÷ 100 = 80 s. With 5% protocol overhead it takes about 84 s. At 10 Mbit/s the same file takes 13 min 20 s, and at 1 Gbit/s about 8 s, as long as the server and Wi-Fi keep up.

What is the difference between Mbps and MB/s?

Mbps (megabits per second) measures network speed, while MB/s (megabytes per second) is how browsers and download managers show progress. One byte is 8 bits, so divide Mbps by 8: a 100 Mbit/s plan tops out at 12.5 MB/s, and 1 Gbit/s at 125 MB/s. Protocol overhead lowers the figure you see by a further few percent.

Why is my download slower than my internet speed?

Part of the gap is protocol overhead: over Ethernet, TCP/IPv4 carries 1,460 bytes of data in each full 1,538-byte frame on the wire, so about 5% of the line rate goes to headers, preamble and inter-frame gap. The rest comes from the server's own limit, Wi-Fi signal, congestion on the route, or other devices sharing the connection.

How much bandwidth does a website need per month?

Multiply monthly page views by the average page weight, which your browser's network panel shows. 100,000 views of a 2 MB page is 200 GB a month, about 6.7 GB a day or an average of 0.62 Mbit/s. Visits bunch up in busy hours, so size hosting and caching for several times that average.

Is 1 GB 1,000 MB or 1,024 MB?

Under the SI and IEC 80000-13 prefixes, 1 GB is 1,000 MB, or 10^9 bytes, while 1 GiB (gibibyte) is 1,024 MiB, or 2^30 = 1,073,741,824 bytes. Network speeds and drive labels use decimal units. Windows counts in binary units but labels them GB, so a 50 GB file shows there as 46.57.

How accurate is the bandwidth and download time calculator?

Accuracy depends on your inputs and the method's assumptions. Decimal arithmetic uses 50 significant digits, but estimates, numerical methods and source data can be less precise; the displayed rounding does not remove those limits. It is checked against 6 worked examples whose answers come from independent sources; for example, “50 GB at 100 Mbit/s with no overhead” is checked against Python 3.8: 50e9 × 8 / 100e6 = 4000 s.

Where does the method come from?

IEC 80000-13:2008 — decimal (kB, MB, GB) and binary (KiB, MiB, GiB) prefixes for bytes; IEEE 802.3 Ethernet: 8-byte preamble, 14-byte header, 1500-byte payload, 4-byte FCS and 12-byte inter-frame gap (1538 bytes per full frame); NIST — Prefixes for binary multiples.

About this calculator

t=8×bytesrate×(1−overhead)monthly=views×page weight\begin{aligned} t &= \frac{8 \times \text{bytes}}{\text{rate} \times (1 - \text{overhead})} \\[4pt] \text{monthly} &= \text{views} \times \text{page weight}\end{aligned}

Sources

  1. IEC 80000-13:2008 — decimal (kB, MB, GB) and binary (KiB, MiB, GiB) prefixes for bytes
  2. IEEE 802.3 Ethernet: 8-byte preamble, 14-byte header, 1500-byte payload, 4-byte FCS and 12-byte inter-frame gap (1538 bytes per full frame)
  3. NIST — Prefixes for binary multiples

Checked against references

6 worked examples with independently sourced answers ship with this calculator. They run in the test suite; you can run them here too.

Related calculators

Allow optional Google Analytics to measure page visits? Calculators work either way. Privacy and choices

Optional analytics: off.