Skip to content
ENExplore Calculators

Clone Time Calculator

Calculate how long a git clone will take based on repo size and network speed.

About Clone Time Calculator

Clone time is primarily bound by how much data must transfer over the network. Formula: time = repo_size / bandwidth. A shallow clone (`--depth N`) only fetches the specified number of recent commits and their objects, so it transfers a fraction of the full history — the calculator models this as transfer_size = repo_size × shallow_fraction, divided by bandwidth to get time.

Formula

clone_time_sec = transfer_size_MB / (bandwidth_Mbps / 8)

transfer_size_MB
Data transferred (full size or repo × shallow_fraction)
bandwidth_Mbps
Available network bandwidth in Mbps

Worked example

With the default values below, Clone Time Calculator returns Estimated Clone Time of 40m. Change any input above and every figure here is recalculated in your browser.

Inputs used

Repository Sizeaccepts 0–1,000,000 MB
500 MB
Available Bandwidthaccepts 0.1–100,000 Mbps
100 Mbps
Shallow Clone
No
Shallow Fetch Fractionaccepts 1–100 %
15 %

Results

Estimated Clone Time
40m s
Data Transferred
500.0 MB
Time Saved vs Full Clone
0m s
Full Clone Time (Reference)
40m s

Step by step

  1. 1Bandwidth in MB/s= 12.50MB/s
  2. 2Transfer size= 500.0MB
  3. 3Clone time: size / bandwidth= 40.0s

Assumptions and limits

  • The result is derived only from the 4 inputs listed above. Anything not among them is not part of the calculation.
  • In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
  • Figures are rounded for display to 1 decimal place, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.

How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.

Frequently Asked Questions

Why is my clone slower than this estimate?

This model assumes sustained line-rate throughput. Real clones are also bound by server-side pack generation (CPU), TLS handshake overhead for many small requests, and network latency/packet loss — especially over long geographic distances.

How much does a shallow clone actually save?

It depends entirely on repository history depth. For a repo with years of history, `--depth 1` can transfer 5-20% of the full size; for a young repo with little history, savings are minimal.

Does `--filter=blob:none` help more than shallow clone?

Yes for many workflows — a treeless/blobless partial clone fetches full commit history (small) but defers blob downloads until checkout, which can be smaller than even a shallow clone if you only need recent file content.

Can I convert a shallow clone to a full clone later?

Yes, run `git fetch --unshallow` to backfill the missing history, though this transfers the remaining objects and takes time proportional to that remaining size.

Clone Time Calculator – Calculate Estimated Clone Time