How the download time calculator works
You enter a file size, a speed, and optionally an efficiency percentage. The calculator converts the size to bytes and the speed to bits per second, then divides.
The calculator opens with these defaults: Decimal units, Simple Mode, 1 GB and 100 Mbps. Changing the size unit or prefix family preserves the number of bytes, and changing the rate unit preserves the information rate, so unit switching represents the same underlying scenario, subject to the displayed input limits.
The formula
Let be the file size in bytes, the entered rate in bits per second, and the active efficiency percentage. Because one byte is 8 bits:
Efficiency here means the share of the entered rate that is actually available to the transfer. It is not extra overhead bytes expressed as a percentage of the payload. At 80% efficiency, a 100 Mbps connection is treated as delivering 80 Mbps.
File-size units: GB versus GiB
The calculator supports two families of size units, and the difference matters for large files.
| Family | Units | Bytes per unit |
|---|---|---|
| Decimal | MB | 1,000,000 |
| Decimal | GB | 1,000,000,000 |
| Decimal | TB | 1,000,000,000,000 |
| Binary | MiB | 1,048,576 |
| Binary | GiB | 1,073,741,824 |
| Binary | TiB | 1,099,511,627,776 |
The "i" in MiB, GiB and TiB marks the binary prefixes, which are powers of 1,024. NIST's page on prefixes for binary multiples is a good reference for the definitions. Entering 1 GiB rather than 1 GB represents about 7.4% more bytes and takes longer at the same rate. Switching an existing entry between unit families converts the amount to preserve the file size. Use whichever family the source of your file size uses.
Transfer-speed units: Mbps versus MB/s
The calculator accepts four rate units: Mbps, Gbps, MB/s and MiB/s. The key point is that internet plans are usually quoted in bits per second, while file managers and download tools often show bytes per second.
| Unit | Bits per second |
|---|---|
| 1 Mbps | 1,000,000 |
| 1 Gbps | 1,000,000,000 |
| 1 MB/s | 8,000,000 |
| 1 MiB/s | 8,388,608 |
So 100 Mbps equals 12.5 MB/s. If you read a speed of 12.5 on a download dialog and enter it as Mbps, your estimate will be about eight times too long.
Worked examples
1 GB at 100 Mbps. The file is 1,000,000,000 bytes, or 8,000,000,000 bits. Dividing by 100,000,000 bits per second gives 80 seconds, shown as 1.33 minutes.
The same transfer at 80% efficiency. In Advanced Mode, the effective rate is 80 Mbps, so the duration becomes 8,000,000,000 ÷ 80,000,000 = 100 seconds, shown as 1.67 minutes.
1 GiB at 100 Mbps. The binary file is 1,073,741,824 bytes, giving 85.89934592 seconds before display rounding.
500 MB at 100 Mbps. That is 4,000,000,000 bits, so the estimate is 40 seconds.
Simple Mode and Advanced Mode
Simple Mode uses 100% of the speed you enter and ignores the Advanced efficiency setting. Advanced Mode activates an efficiency you choose from 1 to 100%, with a default of 100%.
Use Advanced Mode when you want to model a connection that delivers only part of the entered rate, for example because you expect a server to be slower than your line. Avoid counting the same losses twice when the entered measured throughput already includes them. A speed-test result can differ from the sustained rate of a particular file transfer.
Sustained speed versus advertised speed
An advertised speed is a plan's headline figure. A sustained speed is what you actually hold for the whole transfer. For a long download, the sustained rate is the better input. Cloudflare's speed test documentation describes separate download and upload throughput measurements in Mbps. A measured figure can be a starting point for an estimate.
For uploads, enter your upload speed, not your download speed. On many connections the two differ, and using the wrong one will make the estimate misleading.
Reading the results
The headline shows the adjusted duration. The details list the baseline duration, effective Mbps, effective MB/s and the active efficiency. Durations use three significant digits and adapt between seconds, minutes, hours and days, while rate details use six significant digits. The calculator keeps full precision during arithmetic and rounds only for display.
The diagram compares baseline and adjusted duration. It is not live progress or a speed test. Zoom, pan and reset view affect only the diagram. Copy includes your active inputs and results, Export opens your browser's printing or PDF-saving dialog, and Reset restores the defaults.
Input limits and errors
File size can be 0 to 10,000 in the selected unit, and speed can be 0.001 to 1,000,000 in the selected rate unit. Missing, nonnumeric, nonfinite or out-of-range required active inputs produce an input error. A speed of zero is invalid, while a file size of zero gives a zero data-transfer duration. If a unit change would push a converted value outside the allowed range, you get an error rather than a silently clamped number.
What the estimate does not cover
Real transfers vary with network congestion, server limits, Wi-Fi quality, retries and storage speed. The calculator does not separately model startup delays, verification, installation or unpacking, so add those yourself if they matter. The built-in presets are illustrative scenarios, not measured provider speeds or claims about typical file sizes.
Treat the result as a planning estimate. For the most useful answer, match the units to your source, use a sustained or measured speed, and apply an efficiency reduction only when your speed figure doesn't already account for losses.
Read the formula definitions, supported input ranges, and limitations before using this estimate.