Why large uploads fail, and what actually fixes them

Stalls at 94%, files that arrive corrupted, transfers that work at home and never at the office. There is a short list of causes, and most of them are not your file.

4 min read

An upload sits at 94% for ten minutes and then starts again from zero. Or it finishes, and the file on the other end will not open. Or it works perfectly at home and fails every time from the office.

Large uploads fail for a small number of reasons, and most of them are not your file. Here is how to tell which one you are hitting.

It is almost always the connection

The single most common cause is that your upload was one long continuous request and something interrupted it.

Every network between you and the server has an opinion about how long a request may last. A phone moving between cell towers, a laptop switching from wifi to ethernet, a router quietly renewing its lease, a corporate proxy with a 60-second timeout, a lift, a tunnel, hotel wifi. Any of these ends the request. If the upload was a single stream, everything transferred so far is gone.

The fix is not a better connection. It is an upload that does not depend on one: the file split into chunks, each one acknowledged separately, so a drop costs you the chunk in flight rather than the hour behind it. That is how uploads work here, and a failed chunk retries on a widening backoff instead of surrendering.

If your current tool restarts from zero when the wifi hiccups, that is the thing to change.

Your upload speed is not your download speed

Most connections are asymmetric, often dramatically. A "500 Mbps" home line might upload at 20. Sending is the direction nobody advertises.

Rough arithmetic, at a real 20 Mbps up:

  • 1 GB takes about 7 minutes
  • 10 GB takes about 70 minutes
  • 50 GB takes about 6 hours

Divide by four on a 5 Mbps connection. An upload that appears frozen is very often just slow, and a progress figure that only moves once per chunk makes it look worse than it is. A bar that climbs continuously is not cosmetic — it is the difference between waiting and giving up.

The stall at 99%

Uploads that hang right at the end are usually not stuck uploading at all. The bytes have arrived and the server is doing the work that comes after: reassembling parts, verifying, writing the final object.

For a large file this genuinely takes time. Closing the tab here is the one thing that can turn a completed upload into a failed one. Give it a minute before deciding something is wrong.

The file arrives corrupted

If a download opens as a broken file rather than not opening at all, the cause is usually a truncated transfer: the connection closed early and the browser saved what it had. The file is the right name and roughly the right size, and useless.

Retry on a stable connection. If it fails identically at the same point every time, that points at the stored file rather than the network, and the transfer should be sent again.

For encrypted transfers there is an extra clue: because each chunk is sealed with authentication, a chunk that has been altered or truncated fails to open rather than decrypting into garbage. An error is more useful than a corrupt file that looks fine until someone tries to use it.

Things that are actually limits

Some failures are policy, not networking, and no amount of retrying will help.

  • A per-transfer cap. 100 MB without an account here, 1 GB on a free account, 10 GB on Pro. Over the cap it is refused at the start rather than partway through.
  • A storage cap. Ten small transfers can add up to your total allowance even if none of them is large.
  • A corporate network. Plenty of company networks block or throttle upload traffic to file services outright. The tell is that everything works from home and nothing works from the office. That is a conversation with IT, not a technical fix.
  • A full disk on the receiving end. Obvious, and it happens constantly with video.

What to try, in order

  1. Wait a minute before assuming a stall near the end is a failure.
  2. Use a cable. Ethernet removes the most common source of interruptions.
  3. Keep the tab open and the machine awake. Sleep settings end uploads; on a laptop, plug it in.
  4. Try one file rather than forty. It narrows the problem to size versus count immediately.
  5. Try a different network — a phone hotspot is a fast way to rule out a corporate proxy.
  6. Check the numbers: file size against the plan cap, and remaining storage.

What good looks like

If you are choosing a tool rather than debugging one, these are the properties that decide whether large uploads are reliable:

  • Chunked uploads, so a drop costs a slice and not the whole thing
  • Automatic retries with backoff, without you watching
  • Progress that moves continuously rather than jumping once per chunk
  • Clear, early refusal when a file is over the limit

Related: sending large video files covers the biggest uploads specifically, and how to send large files covers the methods.