Why your video will not upload, and how to fix it
Upload errors are famously unhelpful: a red toast, a generic message, or a spinner that never finishes. Behind all of them there are only a handful of actual causes, and each one has a specific fix.
Updated 2026-07-14
The file is too large
This is the common case by a wide margin, and it is the one platforms are usually clearest about. If you are hitting Discord's 10 MB free cap or Gmail's 25 MB attachment limit, the error will say so.
The fix is compression, but the useful move is to compress to a target size rather than to a vague quality setting. You know the number you need to be under, so the encoder should be told that number and left to work out the bitrate that achieves it.
The video is too long
Length caps bite hardest on the short-form platforms. X cuts you off at 2 minutes 20 seconds on a standard account, a standard Instagram Reel stops at 3 minutes, and story formats are shorter still.
If the content genuinely needs the length, splitting it into parts is the answer rather than speeding it up, and the story formats expect exactly that: Instagram takes 60 second segments, Facebook stories 20, and Snapchat works in 60 second snaps or classic 10 second ones.
The codec is not supported, even though the extension is
This is the failure that makes people think a file is corrupt, and it is worth understanding because the error messages are always misleading. A file extension names the container, not the thing inside it. An MP4 is a box, and the video inside that box could be H.264, which everything accepts, or HEVC, which many services still will not take.
So an upload can reject an MP4 while cheerfully accepting a different MP4, and nothing is wrong with either file. The fix is to re-encode the video stream to H.264, which remains the format that everything, everywhere, accepts without argument.
The container is wrong, but the streams are fine
The mirror image of the previous problem, and a much happier one. An MKV file will be refused almost everywhere, but the H.264 video and AAC audio inside it are exactly what the platform wants; they are simply in a box it does not open.
That does not need a conversion. Remuxing lifts the existing streams out and rewraps them as an MP4 without decoding anything, so it takes seconds instead of minutes and costs no quality whatsoever. If you have ever waited twenty minutes for a converter to turn an MKV into an MP4, this is the thing you did not need to do.
The upload starts, then stalls forever
A progress bar that reaches 90 percent and stops usually means the file is being rejected after it arrives rather than while it is arriving, which points at the video itself rather than at your connection.
The other common cause is genuinely mundane: your upstream bandwidth. Home connections are wildly asymmetric, and an upload can easily be ten or twenty times slower than the download speed you are used to. A 500 MB file on a slow upstream link is a long wait, not a bug, and compressing it first turns a twenty minute upload into a one minute one.
The dimensions or aspect ratio are rejected
Less common, but it happens, particularly with very large frames. Some services cap the resolution they will accept, and a 4K screen recording can trip a limit that a 1080p clip sails past.
Resizing to 1080p fixes it and, on almost every platform, costs you nothing visible, because the platform was going to re-compress the video down to something in that neighborhood regardless of what you sent.