Processed on this device

Compress Video for X (Twitter) 1080p H.264, the way X asks for it

X lets free accounts upload 512 MB, and that cap really is generous: it works out at roughly 29 Mbps spread across the 140 seconds you are allowed, while an ordinary 1080p export of that length lands nearer 100 MB. Almost nobody is stopped by size here. What stops people is the 2 minute 20 second cap on the free tier, and X refusing files whose codec, color or audio sits outside its documented list. This page runs the Social preset, which re-encodes to a 1080p H.264 MP4 with AAC audio inside this tab, so the clip is never uploaded to us.

  • 1080p H.264 MP4
  • Stays in your browser
  • 20 clips per batch

Drop videos or browse your device

MP4, MOV, M4V, MKV, AVI, WebM, WMV, TS, MTS, MPEG, 3GP, FLV and more

Up to 20 videos at once

Privacy-first No uploads Processed locally

Your video is processed in your browser's memory and never uploaded, so the ceiling is set by your device, not by us.

Keeps up to 1080p with balanced quality for feeds and stories.

Privacy-first. No uploads. If this helps, share it.

Bigger files? Run it in the Cloud

This tool runs on this device for free. For a file over the device limit or a long video, the same tool runs on our servers, with up to 5 GB per file and 6 hours of video, faster, and with your files kept for up to 7 days, or as long as you choose with any pack or plan. From 1 credit a minute, with 10 credits free when you create an account.

  • The file stays on your machine

    FFmpeg compiled to WebAssembly does the encode inside this browser tab. That matters more on X than most places, because plenty of accounts are pseudonymous and the clip is often a screen recording, a news rip or something being checked over before it goes public.

  • Matched to X's documented spec

    The Social preset re-encodes with H.264 at CRF 23, caps the shorter side of the frame at 1080p, writes 128 kbps AAC audio and moves the MP4 index to the front of the file. That lines up with what X publishes: H.264 video, 8 bit YUV 4:2:0, AAC Low Complexity audio, MP4 container.

  • A whole thread in one queue

    Building a thread, or cutting one long recording into several posts and bringing the pieces back? Load up to 20 files at once, 1.75 GB each. They encode in order and you can save each result or take the lot as a zip.

Quick answer

How to compress a video for X

Check the length first, because that is the limit free accounts actually hit: 140 seconds, or 2:20. If the clip fits, add it here and leave the preset on Social. It is re-encoded in your browser into a 1080p H.264 MP4 with AAC audio, which uploads faster and comes through X's own re-encode in better shape than a 4K master does. Nothing is sent to a server here, so posting is the only moment the file goes anywhere.

  1. Check it runs under 2:20
  2. Keep the Social preset
  3. Post the 1080p MP4
X limits

What X actually accepts

Two numbers decide whether a post goes through, and for most people only one of them bites. Duration is tight and depends on your plan and even on which app you post from. Size is loose enough that an ordinary H.264 export rarely troubles it. The technical row at the bottom is the one behind most outright rejections.

Account or pathDuration and sizeWhat it means
Free account140 seconds, 512 MBThe 2:20 cap is the real wall. Filling 512 MB inside it would take about 29 Mbps, which is near lossless territory.
Premium on x.com or iOSUp to 4 hours, 16 GBX's help centre lists videos under 4 hours at 1080p with a 16 GB maximum, and anything between 2 and 4 hours has to be 720p. The 3 hours and 8 GB figures still quoted in most guides come from X's Media Studio page, which covers a different upload path.
Premium on AndroidAbout 10 minutesThe Android app is documented as far shorter than the web and iOS path, even on a paid plan. Post long clips from x.com or from iOS instead.
Playback resolution1080p on PremiumX documents 1080p for Premium uploads, with 720p required once a video runs past 2 hours. It does not publish what a non subscriber's video is served at, though its developer forum points at 720p. Either way a 4K upload gives up detail.
Codec and containerMP4, H.264, AAC LCX's help centre also lists, for a web upload, a maximum of 1920 by 1200, or 1200 by 1900 for portrait, an aspect ratio between 1:2.39 and 2.39:1, up to 40 fps and up to 25 Mbps. The 8 bit YUV 4:2:0, square pixels, progressive scan, no open GOP and mono or stereo audio requirements come from X's developer documentation.

X spreads these across separate help, Media Studio, advertising and developer pages that do not always agree with each other, so treat the table as a snapshot rather than a contract. Last verified on 16 August 2026.

Twitter to X

What changed under X, and what people still get wrong

The free tier did not move. 140 seconds, 512 MB, YUV 4:2:0 and AAC Low Complexity are all carried over from the Twitter era. What is new is paid long form video for Premium subscribers, now listed as up to 4 hours and 16 GB rather than the 3 hours and 8 GB that most guides still quote. The bigger trap is that four of the most repeated "Twitter video specs" belong to other upload paths. X's help centre gives a web upload a 40 fps ceiling and an aspect range of 1:2.39 to 2.39:1. The 60 fps and 1:3 to 3:1 you will find nearly everywhere come from the developer API, Media Studio and the advertising specs, and X's own Media Studio page says outright that its instructions do not apply to desktop or mobile uploads.

Where X's pages disagree, and they do, plan with the smaller figure. In practice plenty of 60 fps clips post without complaint, so read 40 fps as the number X documents rather than a wall you will hit every time. Treat an exact limit in any third party guide, including the numbers above, as a snapshot of the day it was written.

Phones

The phone side of posting video to X

Most clips on X come straight off a phone, and that is where the documented requirements get broken with nothing on screen to warn you. An iPhone set to High Efficiency records HEVC rather than H.264, and HDR capture writes 10 bit color instead of the 8 bit 4:2:0 X asks for. The file looks perfect in your camera roll and then fails at upload. There is an app split on the paid side as well.

  • iPhone High Efficiency capture is HEVC and HDR capture is 10 bit. Re-encoding here writes H.264 at 8 bit 4:2:0, which is what X documents.

  • Premium long video is a web and iOS feature. The Android app stops far sooner, around 10 minutes, whichever plan you pay for.

  • Slow motion shot at 120 or 240 fps sits well above the 40 fps X documents for a web upload. This page does not change frame rate, so export the clip at 30 fps before you compress it.

Get a clip ready for X in three steps

Steps two and three happen in this tab.

  1. 01

    Check the length, then add the clip

    Free accounts get 140 seconds. If your clip runs longer, shorten it in an editor first, because this page compresses and cannot cut anything out. Then add your files: MP4, MOV, MKV, AVI and WebM all go in, 20 at once at most and 1.75 GB each.

  2. 02

    Leave the preset on Social

    It encodes H.264 at CRF 23 with the shorter side of the frame capped at 1080p and 128 kbps AAC audio, aimed at quality rather than at a size target. Need a specific number of megabytes instead, for an ad upload or a slow connection? Switch to Custom and type it in.

  3. 03

    Download it, then post it

    You get an H.264 MP4 with AAC audio and the index at the front of the file, so a player can start reading it straight away. Post it from the same device or move it across.

Why compress before posting to X

Size is not the reason. X re-encodes every video it receives and serves it from its own delivery ladder, so the job here is handing it something clean and quick to upload rather than something big.

It clears the rejections nobody can debug

"Your media file could not be processed" is what you get for HEVC video, 10 bit or 4:2:2 color, HE-AAC audio and a handful of other breaks with the published spec. X never says which one. Re-encoding to H.264 with 8 bit 4:2:0 and plain AAC removes most of that list in one pass.

A smaller file finishes uploading

An upload that has to push 800 MB has far more chances to stall or drop out than one pushing 100 MB, and it holds up whatever you were about to post. On mobile data that gap is often the difference between posting and retrying.

Extra bitrate is thrown away, not stored

X says it may change the resolution and bitrate of your video while streaming it, based on what the viewer's connection can take. Anything you send above what that ladder keeps is discarded before a single viewer sees it.

A clean 1080p source re-encodes better

Compression stacks. Feeding a noisy, high bitrate 4K master into X's encoder is what turns fine detail and fast motion into mush. A tidy 1080p H.264 file gives that encoder less to fight with, and it usually looks better on the timeline as a result.

Preparing the same video for other networks? See the Instagram or LinkedIn compressor.

Privacy

Draft it privately, then post it

A lot of what gets compressed for X is not meant to be seen until the post goes live: a screen recording with an inbox in frame, a clip being checked over before publishing, footage from an account that is deliberately not in your name. Routing that through someone else's upload queue first defeats the point of the account.

The encode runs in the page through WebAssembly, so there is no server leg at all. We hold no copy, keep no queue, ask for no sign in and have no history to leak or hand over. What you post is the first time the clip exists anywhere but your own machine.

What that means in practice

  • One upload happens, and it is yours, to X
  • The video and its name stay on your device
  • No sign in, no watermark, no upsell on the output
  • Your own CPU does the work, so long clips take time

X upload troubleshooting

Frequently asked questions

140 seconds, or 2:20, on a free account. Premium subscribers get long form video on x.com and in the iOS app, documented in hours rather than minutes. The Android app stops much sooner, around 10 minutes, even on a paid plan.

X video limits last verified on 16 August 2026.