Revenue Rex logo mark
Math · Rex's Toolbox

File Transfer Duration Estimator

Estimate upload or download time for a batch of files over your connection.

Revenue Rex peeking

Rex says

The fast lane for the math you almost remember from school. Type the numbers, get the answer, move on with your day.

Try a scenario

Click to load — tweak from there.

Inputs

Result

Estimated total time (minutes)

4.90

In seconds

293.8

Total data volume (GB)

20.00

% of time spent on per-file overhead

31.9%

Revenue Rex peeking

Psst — share this and help Rex grow

One click, a permanent link with your numbers baked in.

More math

How to use this

  1. 1Enter number of files.
  2. 2Enter average file size (MB).
  3. 3Enter available bandwidth (Mbps).
  4. 4Enter overhead per file (ms).
  5. 5Enter concurrent transfers.
  6. 6Read your estimated total time (minutes) on the right — it updates as you type.
  7. 7Hit Share to keep the scenario or send it to someone.

About this calculator

This is the batch-oriented companion to a single-transfer calculator: instead of one file over one theoretical link, it estimates real time for uploading or downloading many files, accounting for per-file overhead that a single large-file calculation ignores. Every file transfer has fixed overhead — connection setup, authentication handshake, directory listing, TLS negotiation — that adds up fast when moving thousands of small files, which is why syncing 10,000 small files often takes far longer than one large file of the same total size. This calculator adds a fixed per-file overhead time to the raw bandwidth-limited transfer time, multiplied by file count, so you get a realistic total instead of a bandwidth-only number that undercounts small-file transfers by an order of magnitude in the worst cases.

FormulaTotal time = (total data size ÷ effective bandwidth) + (file count × per-file overhead seconds).

Worked example

Using the values the calculator loads with:

Inputs

  • Number of files: 5000
  • Average file size: 4 MB
  • Available bandwidth: 100 Mbps
  • Overhead per file: 150 ms
  • Concurrent transfers: 8

Results

  • Estimated total time (minutes): 4.9
  • In seconds: 293.8
  • Total data volume (GB): 20
  • % of time spent on per-file overhead: 31.9%

What each field means

Inputs

Number of files
The number of files used in the calculation. Starts at 5000 so you have a working example on load.
Average file size (MB)
The average file size used in the calculation, measured in MB. Starts at 4 MB so you have a working example on load.
Available bandwidth (Mbps)
The available bandwidth used in the calculation, measured in Mbps. Starts at 100 Mbps so you have a working example on load.
Overhead per file (ms)
The overhead per file used in the calculation, measured in ms. Starts at 150 ms so you have a working example on load.
Concurrent transfers
The concurrent transfers used in the calculation. Starts at 8 so you have a working example on load.

Results

Estimated total time (minutes)
Returned as a decimal number and shown as the headline result. It recalculates instantly whenever you change an input, so you can compare scenarios without reloading.
In seconds
Returned as a decimal number. It recalculates instantly whenever you change an input, so you can compare scenarios without reloading.
Total data volume (GB)
Returned as a decimal number. It recalculates instantly whenever you change an input, so you can compare scenarios without reloading.
% of time spent on per-file overhead
Returned as a percentage. It recalculates instantly whenever you change an input, so you can compare scenarios without reloading.

FAQ

Why does parallelism help so much with many small files?

Per-file overhead (connection setup, auth, TLS handshake) is largely wait time, not bandwidth-limited, so running transfers concurrently overlaps that dead time across files instead of paying it serially. Going from 1 to 8 concurrent transfers on a small-file-heavy sync commonly cuts total time 5-7x, though gains taper off once you saturate the link's total bandwidth or the server's connection limits.

When does overhead dominate over raw bandwidth?

Once average file size drops below roughly (bandwidth × overhead time) — for a 100 Mbps link with 150ms overhead, that threshold is around 1.9 MB per file. Below that size, most of your transfer time is overhead, not data movement, and the fix is batching files (tar/zip before transfer) rather than chasing more bandwidth.

Should I archive small files before a cloud migration?

Yes, for migrations involving hundreds of thousands of small files — bundling them into fewer, larger archive files before transfer, then unpacking at the destination, routinely cuts total migration time by 60-90% versus transferring files individually, because it collapses per-file overhead into a handful of large transfers instead of paying it per file.

Accuracy and limitations

  • Results are rounded for display; the underlying calculation keeps full precision.
  • Very large or very small inputs may hit floating-point limits in the browser.
  • Inputs outside the accepted range are clamped rather than rejected.

Related tools

Cite this calculator

Writing about this topic? Grab a citation — every link helps keep these tools free.

APA
RevenueLab. (2026). File/Media Transfer Duration Estimator. Retrieved from https://www.revenuelab.fyi/toolbox/file-transfer-duration
HTML
<p>Source: <a href="https://www.revenuelab.fyi/toolbox/file-transfer-duration" target="_blank" rel="noopener">File/Media Transfer Duration Estimator — RevenueLab</a> (2026).</p>
Markdown
Source: [File/Media Transfer Duration Estimator — RevenueLab](https://www.revenuelab.fyi/toolbox/file-transfer-duration) (2026).
Advertisement