Data and technology

Data Transfer Calculator

Estimate download, upload, or copy time. You can also choose to calculate an average transfer rate or the rate needed to meet a target time.

Calculate transfer time or rate

Estimate duration from file size, transfer rate, and efficiency.

Zero or greater. All size units are bytes: 1 byte = 8 bits. GB and GiB represent different amounts of data.

Greater than zero. Mbps means megabits per second; MB/s means megabytes per second. Use the appropriate upload, download, or copy rate for your task.

Greater than 0 and no more than 100. Enter the overall percentage of the stated rate you expect to achieve. The default 100% is an ideal assumption, not a measured connection speed or a standard overhead allowance.

Decimal values use this precision. The main days/hours/minutes/seconds result always rounds to the nearest whole second.

Changing a unit keeps the entered number and interprets it in the new unit. Check it, then calculate again.

Up to 15 integer digits and 10 decimal places. Use a dot for decimals; grouped values such as 1,000.5 are accepted.

Estimated transfer duration

Enter the file size, transfer rate, and efficiency, then select Calculate.

Your inputs are calculated in your browser and are not sent to a server. This calculator does not measure network speed or transfer any files.

Transfer time examples

Decimal gigabytes

1 GB at 100 Mbps and 100%

8,000,000,000 ÷ 100,000,000 = 80 s

The estimate is 1 minute 20 seconds. One GB contains one billion bytes, or eight billion bits.

The effective rate is 100 Mbps, equivalent to 12.5 MB/s.

Binary gibibytes

1 GiB at 100 Mbps and 100%

8,589,934,592 ÷ 100,000,000 = 85.89934592 s

The estimate rounds to 1 minute 26 seconds. GiB uses powers of 1,024, so it represents more bytes than GB.

Changing a size label from GB to GiB changes the amount being transferred.

A chosen achievable fraction

1 GiB at 100 Mbps and 50%

100 × 0.50 = 50 Mbps effective

Halving the effective rate doubles the estimate to 171.79869184 seconds, or about 2 minutes 52 seconds.

50% is an illustration, not an assumed or recommended protocol overhead.

Average and required rate examples

A completed transfer

1 GB transferred in 80 seconds

8,000,000,000 bits ÷ 80 s = 100 Mbps

The average is 100 Mbps, or 12.5 MB/s. This describes the data transferred over the elapsed time you enter; it is not a measurement of your connection's maximum speed.

Planning for a deadline

1 GB in 2 minutes at 80% efficiency

(8,000,000,000 ÷ 120) ÷ 0.80

The required stated rate is approximately 83.333333 Mbps. The effective rate needed for the data is approximately 66.666667 Mbps.

These are rounded displays. Allow headroom for rounding and variable conditions; a stated service speed alone does not guarantee the target.

Binary data size

1 GiB transferred in 1 minute

8,589,934,592 bits ÷ 60 s

The average is approximately 143.165577 Mbps, or 17.895697 MB/s. Using 1 GB instead would give approximately 133.333333 Mbps.

Formula and unit definitions

  1. Convert file size to bytes, then multiply by eight to obtain total bits.
  2. Convert the stated rate to bits per second. For a byte-per-second rate, multiply the corresponding bytes per second by eight.
  3. Calculate effective bits/s = stated bits/s × efficiency ÷ 100.
  4. Calculate duration in seconds = total bits ÷ effective bits/s.

For Average transfer rate, use average bits/s = total bits ÷ elapsed seconds. For Rate for a target time, use required effective bits/s = total bits ÷ target seconds, then required stated bits/s = required effective bits/s ÷ (efficiency ÷ 100). Divide bits/s by eight for bytes/s. Minutes, hours, and days convert to 60, 3,600, and 86,400 seconds respectively.

Rate results use the same half-up display rounding as time results, not a ceiling. A rounded required rate can be slightly below the exact threshold; when it is rounded, the result also gives the exact stated-rate fraction in bits/s. Target planning assumes the entered efficiency holds throughout the transfer. Average mode uses the whole elapsed interval you supply and makes no additional efficiency adjustment.

The calculation keeps these quantities as exact integer ratios until display rounding. The main duration rounds to the nearest second before splitting into days, hours, minutes, and seconds, so rounding carries correctly into the next minute or day. A day here always means 24 hours. Decimal equivalents use your selected precision, and ≈ marks rounding; exact halfway values round up.

Decimal file units grow by 1,000 at each step. Binary file units grow by 1,024: KiB = 1,024 B, MiB = 1,048,576 B, GiB = 1,073,741,824 B, and TiB = 1,099,511,627,776 B. The KB option means a decimal kilobyte, also written kB. NIST explains the IEC binary prefixes and their distinction from decimal prefixes in Prefixes for binary multiples.

All bandwidth units ending in bps here use decimal multiples of bits per second. MB/s uses one million bytes per second; MiB/s uses 1,048,576 bytes per second. The eight-bit byte is defined in the NIST byte glossary. NIST's SI prefix guidance explains why decimal prefixes do not mean powers of 1,024.

Common questions

Can I keep using the original transfer time calculation?

Yes. Transfer time is selected when the page opens and after Reset. The other calculations are optional and use the same file size units. Changing the calculation clears the previous result so you can check the inputs and calculate again.

Why is there no efficiency input for an average rate?

File size divided by elapsed time already reflects the transfer's achieved throughput, including any pauses within that interval. Multiplying by efficiency again would reduce it a second time. This average cannot determine the advertised or maximum connection speed.

Does the required rate guarantee my target time?

No. It is the mathematical threshold under your constant-rate and efficiency assumptions. Actual throughput may vary. Display rounding can move the rate slightly below that threshold, so use the exact fraction if needed and allow additional headroom for real conditions.

Why is Mbps different from MB/s?

The lowercase b in Mbps stands for bits; the uppercase B in MB/s stands for bytes. Since each byte has eight bits, 100 Mbps is 12.5 MB/s at 100% efficiency. MiB/s also uses bytes but has a binary size multiplier.

What should I enter for efficiency?

Enter your own estimate of the percentage of the stated rate available for the data you want to transfer. This is an overall achievable fraction, not a prediction of a specific protocol's overhead. If your rate already describes measured file throughput, using 100% keeps that effective rate unchanged.

Will the actual transfer take exactly this long?

The result follows your size, rate, and efficiency inputs. It assumes the effective rate remains constant and does not add separate delays for connection setup, pauses, or other activity. It does not detect your network conditions, server limits, or storage speed.

Can I use this for uploads or local file copies?

Yes. Enter the appropriate rate for the transfer you are estimating. An upload should use an upload rate; a local copy can use MB/s or MiB/s. The calculator does not measure or select a rate for you.

Why can a positive duration display as zero seconds?

A duration shorter than half a second rounds to zero in the main whole-second display. It receives an approximation mark and a note with the exact fraction of a second. Use more decimal places to inspect small durations. A file size of zero gives an exact zero duration instead.

Which input values are accepted?

File size must be nonnegative. Bandwidth, elapsed time, and target time must be positive. Efficiency, where used, must be greater than zero and no more than 100%. A zero file size produces zero duration or rate, but the other active inputs must still be valid. These decimal inputs support up to 15 integer digits and 10 digits after the decimal point, including correctly grouped thousands commas. Expressions, scientific notation, units typed into number fields, and missing values are rejected. Select units using the menus.