If you can’t post videos on X anymore, check your account tier before anything else, because it quietly changes every other number that matters. A free account stops at 140 seconds of video and a 512 MB file. An X Premium subscription raises that to four hours and 16 GB when you upload from x.com or from iOS. The same clip that posted perfectly well for someone you follow can bounce straight off your composer, and nothing in the error message will tell you why.
You were expecting me to open with clear your cache and reinstall the app, right? That sits near the bottom of this list. It survives as advice mainly because it feels like doing something.
Table of Contents
Your account tier decides the limits, so start there
| Account | Longest video | Largest file |
|---|---|---|
| Free, no subscription, any device | 140 seconds, which is 2 minutes 20 seconds | 512 MB |
| X Premium on x.com or iOS | Up to 4 hours at 1080p | 16 GB |
| X Premium on Android | 10 minutes | 16 GB |
Two rows in that table catch people out regularly.
The Android row is the first. A paying subscriber uploading from an Android phone is still capped at ten minutes, while the same subscriber on a laptop is not. If you edit on your phone and post from your phone, that ceiling is doing more damage to you than any codec ever will, and you would never guess it from the interface.
The free limit is the second, and X has adjusted it before. So if your video runs just over two minutes and twenty seconds, trim it and try again before you go hunting for something cleverer. A file that is barely too long fails in exactly the same vague way as a file with the wrong codec. That shared vagueness is what sends people down the wrong road for an hour.
The export settings that upload on the first attempt
X accepts a narrow set of files and refuses the rest without telling you which part it objected to. Match the settings below in your editor and a large share of upload failures simply stop happening.
- Container: MP4. MOV is accepted, though MP4 produces fewer surprises.
- Video codec: H.264, which some editors label AVC.
- Audio codec: AAC. If your export carries no audio stream at all, add a silent one.
- Resolution: 1920 x 1080 at most, or 1280 x 720 if you want a smaller file.
- Frame rate: 30 fps is the safe choice, and 60 fps is accepted.
- Bitrate: roughly 5 to 8 Mbps at 1080p.
- Aspect ratio: 16:9 for landscape, 9:16 for vertical, 1:1 for square.
Codec problems waste the most time because they never announce themselves. The upload runs. The progress bar fills. Then the post fails with something generic about media, and the word codec appears nowhere on your screen. A few very ordinary sources produce files that trip this:
- iPhone footage recorded in the space saving format, which is HEVC rather than H.264. Switch the camera setting to Most Compatible, or re-export the clip.
- Anything you downloaded from a website as a WebM file.
- Editor presets that default to newer codecs for the sake of a smaller file.
- Professional formats such as ProRes, which exist for editing rather than for posting.
Re-exporting as H.264 in an MP4 with AAC audio clears nearly all of these at once, and a free converter will handle it if your editor will not.
Some rejections look like connection errors and are really shape errors
An extremely tall crop, an ultra wide cinematic export, or a resolution above 1080p can fail in a way that reads as a network problem. You get a retry prompt and assume your signal dropped. Then it fails again on strong wifi and you start blaming the app. Check the dimensions of the file before you go any further. If your export is 4K, drop it to 1080p and watch the problem disappear.
When it really is the app, the cache or the connection
Now we can reach the boring fixes, in the order that they actually pay off.
- Update the app. Old builds fail against changed upload behaviour and they fail quietly.
- Try the identical file at x.com in a browser. If the web upload works and the app does not, you have isolated the problem in a single move.
- Do not switch between wifi and mobile data while an upload is running. A handover mid transfer is the classic reason a bar freezes at some stubborn number like 97 percent.
- Keep the app in the foreground for a long video. Backgrounding it on a phone can pause the transfer until it times out.
- Clear the app cache, or sign out and back in, if you have been logged in for months. This one is genuinely real. It is just last.
When no amount of re-encoding will help
Here is where I am supposed to suggest one more export at a lower bitrate. Do not bother. If the block sits on the account rather than on the file, no file you can produce will get through, and every retry just burns more of your evening.
A few situations behave this way, and they share one tell: text posts keep working while anything with a video attached does not.
A brand new account is the first. Accounts created recently often carry tighter media limits while they build up some history, which is why a fresh profile can post text all day and fail on its very first video. Posting normally for a while usually clears it on its own.
A previous violation is the second. Restrictions applied after a policy strike frequently target media specifically, so everything else on the app feels completely normal. Your account status page will say so if you go and read it.
An automatic sensitive media flag is the third. Content flagged this way tends to get limited rather than removed, which looks like an upload that succeeds but reaches almost nobody. If you think the flag is wrong, appeal it through the official route in your settings.
A serious note before you close this tab. If your account is restricted, please do not go looking for anyone who offers to lift it for a fee. Nobody outside X can remove a restriction on an X account. Handing over money, or far worse your login, turns a temporary media limit into a permanent loss of everything you built. Appeal inside the app and wait it out.
Work through it in this order and you will find it fast
- Check the video length against your tier. Free stops at 140 seconds.
- Check the file size against your tier.
- Check the container and the codecs. MP4, H.264, AAC.
- Check the resolution and the aspect ratio. Nothing above 1080p and nothing extreme in shape.
- Try the same file at x.com in a browser on a stable connection.
- Update the app, then clear its cache.
- Export a five second test clip using the settings above and post that. If even it fails, your account is the problem and your video never was.
- Read your account status page and appeal anything you find sitting there.
Most people who make it to step seven discover that step one was the answer the whole time. The limits are not printed anywhere near the upload button, so hardly anyone knows which side of them they are standing on. Now you do.