Choose a mode and enter your numbers. In download time mode, a graph also shows how the time depends on the speed.
Table of Contents
-
What you can do on this page
-
What is this calculation used for?
-
How to Use
-
Formulas and figures
-
Symbols and terms
-
Good to know before you start
-
How to calculate it in Excel
-
How to calculate it in Google Sheets
-
How to calculate it in Python
-
How to write it in LaTeX and other math languages (copy and paste)
-
How to have ChatGPT do the calculation
-
DataChef Features
-
Related Features
-
NumberChef Calculators List
What you can do on this page
- Enter a file size and an internet speed, and you see how long the download or upload takes on the spot (in seconds and also in an easy-to-read form such as "22 min 13 s")
- Converts between bits, bytes (B), KB, MB, GB, TB, Kbit, Mbit, Gbit and Tbit, all in one table
- Also estimates the bandwidth a website needs (page views, average page size and a redundancy factor) and the average bandwidth of web hosting (monthly data ÷ days)
- In download time mode, a graph shows how the time shrinks as the speed goes up (an inverse relationship)
- A plain-language explanation of the formulas and copy-and-paste formulas for Excel, Google Sheets and Python are all on this page
What is this calculation used for?
"How long will a 50 GB game take on a 300 Mbps connection?" 50 GB is \(50 \times 8 = 400\) gigabits, and \(400{,}000 \div 300 \approx 1{,}333\) seconds, or about 22 minutes 13 seconds.
Knowing the wait lets you plan, such as starting the download before bed or skipping it right before you leave. You can also see the inverse relationship: double the speed and the time is cut in half.
Streaming video and video calls need a steady minimum speed to play without stopping. If you assume about 5 Mbps per HD stream, three people watching in different rooms at the same time need about \(5 \times 3 = 15\) Mbps.
When you move or change plans, knowing in numbers the speed your household actually needs makes choosing a plan easier.
Before launching a site, you estimate the bandwidth needed to handle the traffic. If pages are viewed 10 times per second and each page is 2 MB, you need \(10 \times 2\,\text{MB} \times 8 = 160\) Mbps (with a redundancy factor of 1).
Adding headroom with a redundancy factor for traffic spikes is standard practice, and the result is the basis for choosing a server or cloud plan.
With a plan that includes 20 GB of high-speed data a month, watching 200 MB videos uses it up after about \(20{,}000 \div 200 = 100\) videos (in decimal, 20 GB = 20,000 MB).
Knowing how many videos' worth you have left helps you avoid being slowed down at the end of the month and decide when to switch to Wi-Fi.
Uploading 1 TB of data to the cloud on a 1 Gbps connection takes \(8 \times 10^{12} \div 10^{9} = 8000\) seconds (about 2 hours 13 minutes).
Estimating the transfer time up front lets you plan, such as running it overnight outside business hours or upgrading the connection. It is an essential calculation for data migrations and server moves.
Formulas and figures
Symbols and terms
Symbols
| \(t\) | tee | The time (seconds). It is the data size divided by the speed. (From "time".) |
| \(S\) | S | The data size (bits), the size of the file to download expressed in bits. (From "size".) |
| \(v\) | vee | The speed (the number of bits that can be sent per second). (From "velocity".) |
| \(W\) | W | The bandwidth (bits per second), the most data that can be sent per second. On this page it stands for the bandwidth needed or the average bandwidth. (From "width" in "bandwidth".) |
| \(f\) | f | The redundancy factor, how many times the needed bandwidth to plan for, to handle busy times (1 for no extra room). (From "factor".) |
Terms
| bit | The smallest unit of information, a single 0 or 1. Data sizes and connection speeds are, at bottom, counts of bits. |
| byte | A unit made of 8 bits (1 byte = 8 bits). File sizes are usually given in bytes (B, KB, MB…). |
| bandwidth | The most data that can be sent per second. It is often compared to the number of lanes on a highway - the wider it is, the more data can flow at once. It is measured in bits per second (bps). |
| throughput | The speed at which data is actually being transferred. If bandwidth is the width of the highway (the theoretical maximum), throughput is the amount of traffic actually moving, which is lower than the bandwidth because of congestion and protocol overhead. |
| bps (bits per second) | The unit of connection speed, the number of bits sent per second. Mbps is a million bits per second and Gbps is a billion bits per second. Internet speeds are usually given in this unit. |
| decimal prefix | Prefixes K, M, G and T that each go up by a factor of 1,000 (1 KB = 1,000 B). They are the standard for connection speeds and on this page. For the same "1 GB", the value differs by about 7% from the binary prefixes, which go up by 1,024. |
| binary prefix | Prefixes that go up by a factor of 1,024, written Ki, Mi and Gi when they need to be told apart (1 KiB = 1,024 B). Some computers show storage in these units, and because the base is different, the values differ by about 7% from decimal prefixes. |
| redundancy factor | When estimating server bandwidth, the multiple of the average to provide for moments when traffic spikes. About 1.5 to 2 is common, and 1 is no extra room. |
| inverse relationship | A relationship where, when one amount becomes 2 or 3 times as large, the other becomes \(\dfrac{1}{2}\) or \(\dfrac{1}{3}\) as large (also called inverse variation). The time is inversely proportional to the speed, so the faster the speed, the shorter the time. |
Good to know before you start
Here is what helps you use the calculation on this page with real understanding, not just by pressing the button.
| Division (Grades 3–4) |
|
| How units work (elementary to middle school) |
|
| Direct and inverse variation (Grades 7–8) |
|
| Large numbers and exponents (Grades 6–8) |
|
How to calculate it in Excel
| Data size (MB) | 100 |
| Speed (Mbps) | 10 |
| Time (seconds) | =B1*8/B2 |
| Data size (bytes, B) | 1000 |
| Data size (bits) | =B1*8 |
| Page views per day | 10000 |
| Average page size (MB) | 2 |
| Redundancy factor | 1.5 |
| Bandwidth needed (Mbps) | =B1/86400*B2*8*B3 |
| Monthly data (TB) | 1 |
| Days | 30 |
| Average bandwidth (Mbps) | =B1*8*1000000/(B2*86400) |
The second table just multiplies bytes by 8 to get bits (1,000 B → 8,000 bits).
The third table divides the page views by 86,400 (seconds in a day) to get views per second, then multiplies by the page size (in bits) and the redundancy factor. The example gives about 2.78 Mbps.
The fourth table converts the monthly data to bits and divides by days × 86,400 (seconds). 1 TB over 30 days is about 3.09 Mbps.
How to calculate it in Google Sheets
| Data size (MB) | 100 |
| Speed (Mbps) | 10 |
| Time (seconds) | =B1*8/B2 |
| Data size (bytes, B) | 1000 |
| Data size (bits) | =B1*8 |
| Page views per day | 10000 |
| Average page size (MB) | 2 |
| Redundancy factor | 1.5 |
| Bandwidth needed (Mbps) | =B1/86400*B2*8*B3 |
| Monthly data (TB) | 1 |
| Days | 30 |
| Average bandwidth (Mbps) | =B1*8*1000000/(B2*86400) |
How to calculate it in Python
file_size = 100 # file size
file_unit = "MB" # unit (B/KB/MB/GB/TB)
speed = 10 # connection speed
speed_unit = "Mbit/s" # unit (bit/s, Kbit/s, Mbit/s, Gbit/s)
# decimal prefixes (based on 1000). 1 byte = 8 bits
bits_per = {"B": 8, "KB": 8_000, "MB": 8_000_000, "GB": 8_000_000_000, "TB": 8_000_000_000_000}
bps_per = {"bit/s": 1, "Kbit/s": 1_000, "Mbit/s": 1_000_000, "Gbit/s": 1_000_000_000}
file_bits = file_size * bits_per[file_unit] # data size (bits)
speed_bps = speed * bps_per[speed_unit] # speed (bits per second)
time_sec = file_bits / speed_bps # time (seconds)
print(f"Data size: {file_bits:,} bits")
print(f"Speed: {speed_bps:,} bits/s")
print(f"Time: {time_sec} s")
How to write it in LaTeX and other math languages (copy and paste)
t = S ÷ v
t = \dfrac{S}{v}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>t</mi>
<mo>=</mo>
<mfrac><mi>S</mi><mi>v</mi></mfrac>
</mrow>
</math>
t = S / v
S / v
t := S / v;
t = S / v;
t = S/v
b = B × 8
b = B \times 8
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>b</mi>
<mo>=</mo>
<mi>B</mi>
<mo>×</mo>
<mn>8</mn>
</mrow>
</math>
b = B * 8
B*8
b := B*8;
b = B*8;
b = B×8
W = r × P × f
W = r \times P \times f
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>W</mi>
<mo>=</mo>
<mi>r</mi>
<mo>×</mo>
<mi>P</mi>
<mo>×</mo>
<mi>f</mi>
</mrow>
</math>
W = r * P * f
r*P*f
W := r*P*f;
W = r*P*f;
W = r×P×f
W = Q ÷ (d × 86400)
W = \dfrac{Q}{d \times 86400}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>W</mi>
<mo>=</mo>
<mfrac>
<mi>Q</mi>
<mrow><mi>d</mi><mo>×</mo><mn>86400</mn></mrow>
</mfrac>
</mrow>
</math>
W = Q / (d * 86400)
Q/(d*86400)
W := Q/(d*86400);
W = Q/(d*86400);
W = Q/(d×86400)
How to have ChatGPT do the calculation
You are a data transfer calculation assistant. Do the following calculation by actually running Python code, and base your answer only on the numbers from the execution result (do not answer by mental math or guessing). Use decimal prefixes (1 KB = 1,000 B, 1 MB = 1,000,000 B, …) and 1 byte = 8 bits. How many seconds does it take to download a 100 MB file on a 10 Mbps (megabits per second) connection? Also give the answer in the form "X minutes Y seconds". Show the code you used and the numbers from the execution result.
How to Use
-
1Enter your numbersType the numbers you want to calculate with into the input fields
-
2CalculatePress the "Calculate" button
-
3Check the resultThe result appears on the spot. The same page also explains the idea behind the calculation and the formula
DataChef Features
No technical knowledge required.
Intuitive and user-friendly operation.
Can be used without registering personal information.
Automatic file deletion by clicking "download".
and rapid file conversion.
No attribution required.
No need to contact us for commercial use permission.
