Here is the whole calculation in one line: upload time in seconds = file size in megabits ÷ upload speed in megabits per second, plus a margin for overhead. A 4.7 GB file on a 20 Mbps upload is 4,700 MB × 8 = 37,600 megabits, divided by 20 = 1,880 seconds, which is 31 minutes 20 seconds — call it 34 minutes once you allow ten percent for overhead. Everything that goes wrong with this estimate goes wrong in one of five places, and they happen in a fixed order.
That order matters because each step protects against a specific mistake. Skip the first and you are working from a size that is off by seven percent. Skip the third and you can be off by a factor of ten. Do them in sequence and the number you get will be close enough to plan around.
The steps, in order
- Read the file size and note which unit it is really in.
- Convert the size to megabits — multiply megabytes by 8.
- Find your upload speed, which is not your download speed.
- Divide, then add a margin for protocol overhead and re-sent data.
- Check the slowest link in the chain before you trust the answer.
Step 1: read the size, and check which "GB" you are looking at
Your file manager and the transfer both use the word gigabyte, and they can mean two different things. The storage and networking world uses decimal units: 1 GB = 1,000,000,000 bytes. Windows and some other tools display binary units — 1 GiB = 1,073,741,824 bytes — but label them "GB" anyway.
The gap is about 7.4% at the gigabyte rung, and it always runs the same way: the binary number looks smaller. A file that a website calls 4.7 GB shows up in Windows as roughly 4.38 GB, because Windows is really showing you 4.38 GiB. Both describe the same 4,700,000,000-odd bytes.
What this step protects against: a quiet 7% error, in the optimistic direction, before you have done any arithmetic at all. If your file manager reports binary units, multiply by 1.0737 to get the decimal figure that matches the way line speeds are quoted — or read the size in bytes and work from that instead. The full ladder of units, and which system each one belongs to, is set out in data sizes smallest to largest.
One more thing to settle here: if you are sending a folder rather than a single file, use the total size, not the largest file. That total will not behave like one big file of the same size, for reasons covered further down.
Step 2: turn megabytes into megabits by multiplying by 8
File sizes are quoted in bytes (uppercase B: MB, GB). Connection speeds are quoted in bits per second (lowercase b: Mbps, Mb/s). One byte is 8 bits, exactly, so the two numbers are a factor of 8 apart:
- MB → megabits: multiply by 8. 250 MB = 2,000 megabits.
- Mbps → MB/s: divide by 8. A 20 Mbps line moves at most 2.5 MB per second.
Either direction works, as long as both sides of the division end up in the same family. Mixing them is the most common error in this calculation, and it makes the answer look eight times better than reality — which is exactly why the progress bar disappoints. It belongs to the same family of slips catalogued in the unit conversion mistakes that cost real money.
What this step protects against: an eight-fold underestimate. If your estimate said four minutes and the transfer took half an hour, this is almost always why.
Step 3: use your upload speed, not your download speed
Most home connections are asymmetric — built to receive far more than they send, because that is what most households do. On cable and DSL lines the upload figure is routinely a fraction of the download figure. Fibre is often symmetric, or much closer to it, but not always.
Two rules for getting this number right:
- Measure it, don't read it off the plan. Advertised speeds are maximums under good conditions. Run a speed test and use the upload figure it reports.
- Test from where you will actually send. Over Wi-Fi at the far end of the house, the number you measure is the number you get, and it may sit well below what the line can do.
What this step protects against: the largest error available in this whole calculation. Using a download figure on an asymmetric line can make the estimate wrong several times over, always in the direction that leaves you waiting.
Step 4: divide, then add a margin
Now the arithmetic. Two worked examples, both rounded only at the final step.
A 4.7 GB video on a 20 Mbps upload
- Size in megabits: 4.7 GB = 4,700 MB; 4,700 × 8 = 37,600 megabits.
- Divide by the speed: 37,600 ÷ 20 = 1,880 seconds.
- Convert: 1,880 ÷ 60 = 31.33 minutes ≈ 31 minutes 20 seconds.
- Add 10% for overhead: 1,880 × 1.1 = 2,068 seconds ≈ 34 minutes 28 seconds.
A 250 MB attachment on a 5 Mbps upload
- 250 × 8 = 2,000 megabits.
- 2,000 ÷ 5 = 400 seconds = 6 minutes 40 seconds.
- Add 15%: 460 seconds ≈ 7 minutes 40 seconds.
The margin is not a fudge factor. Every transfer carries packet headers, an encryption handshake, and re-sent data wherever packets are lost, so the payload never gets the full line rate. Ten percent is a reasonable working allowance for a plain upload; be more generous on a connection that drops. Email attachments are a special case — they are re-encoded into text before sending, which inflates them by about a third, so a 9 MB attachment leaves as roughly 12 MB of traffic.
What this step protects against: an estimate that is arithmetically correct and still consistently short, which is the version people stop trusting.
Step 5: find the slowest link before you trust the number
The calculation gives you the time if your upload speed is the constraint. Often it is not. A transfer runs at the speed of the narrowest point in the chain, and the candidates are:
- Wi-Fi between you and the router. A weak signal can sit below your upload speed, at which point the line is idle and waiting.
- The drive the file is on. An old external drive or a network share can read more slowly than a fast line can send.
- A limit at the far end. Services impose per-connection or per-account caps, and a busy server has its own queue. Neither is visible from your side.
- Everything else on your connection. A video call or a cloud backup is competing for the same upload, which is the scarce direction.
If the real transfer is far slower than the calculation, work down that list before you blame the maths.
Uploading many small files instead of one big one
A thousand 5 MB files and one 5 GB file are the same total, and they will not take the same time. Each file carries its own setup and acknowledgement, and that per-file cost dominates once the files are small. The practical consequence: for a large number of small files, zip the folder first. One connection for one archive avoids a thousand round trips, and any compression you get is a bonus rather than the point.
A sanity check worth memorising
1 GB is 8,000 megabits to send. Divide 8,000 by your upload speed in Mbps to get the seconds per gigabyte, then multiply by the number of gigabytes.
| Upload speed | Time for 1 GB (before overhead) |
|---|---|
| 1 Mbps | 2 h 13 min 20 s |
| 5 Mbps | 26 min 40 s |
| 10 Mbps | 13 min 20 s |
| 20 Mbps | 6 min 40 s |
| 40 Mbps | 3 min 20 s |
| 100 Mbps | 1 min 20 s |
| 500 Mbps | 16 s |
Two habits keep this honest. Round only at the end, never in the middle. And if your answer sits more than a factor of two away from that table, you have almost certainly mixed bits with bytes somewhere — the method for checking any conversion before you rely on it is in how unit conversions really work.
FAQ
Why does the transfer window's "time remaining" keep changing? It extrapolates from the last few seconds of actual throughput, and throughput moves as Wi-Fi, the server and other traffic on your line change. The earliest estimate is the least reliable one, because the connection is still ramping up. Your own calculation is usually steadier than the progress bar for the first minute.
Is upload speed the same as download speed? Only on a symmetric connection. Cable and DSL lines are typically built with a much smaller upload figure, so the speed test's second number is the one that governs sending. Check both before estimating.
Does the file type change how long the upload takes? Not directly — bytes are bytes. It matters indirectly: already-compressed files such as video, JPEG and ZIP will not shrink further, while documents and raw data often compress a great deal, so zipping them first genuinely shortens the transfer.
My file manager and the website disagree about the file size. Which is right? Both, in different units. The file manager is likely showing binary units (GiB) labelled as GB; the website is showing decimal GB. The byte count underneath is identical. Work from bytes if you want the ambiguity gone entirely.
Will a faster internet plan make my uploads faster? Only if the upload figure improves — many upgrades raise the download number far more. And only if the line is the slowest link: when Wi-Fi or the source drive is the constraint, a faster plan changes nothing.
Why did the upload take longer than my calculation said? In order of likelihood: you used the download speed, you forgot the ×8, you sent thousands of small files, or something else was using the connection. Work through those four before you adjust the overhead margin.
Do the steps in order and the estimate holds up: the right unit, times 8, the upload figure, plus a margin, sanity-checked against the slowest link. When you would rather not do the conversions by hand, the free data-size converter on Wapuula Tools turns any size into any unit and shows the factor it used, so you can see exactly where the 8 and the 1,024 come in.