Free · Fast · Privacy-first

Compress Video for Twitter/X

Twitter/X has some of the strictest video specifications among major social platforms, with a hard ceiling of 512MB for standard accounts, a maximum length of 2 minutes 20 seconds, and a preference for H.264 MP4 wrapped in a fast-start container.

Meets Twitter/X video specifications

🔒

Handles 512MB size limit

Supports MP4 and MOV

Free, no watermark

Cost
Free forever
Sign-up
Not required
Processing
In your browser
Privacy
Files stay local
FreeNo signupWhite-label

Add this Video Compressor to your website

Drop the Video Compressor into any page — blog post, product docs, intranet, school portal — with a single line of HTML. Your visitors get the full tool, processed entirely in their browser. No backend, no uploads, no signup.

  • Files stay 100% in the visitor's browser
  • Responsive — adapts to any container width
  • Free forever, no API key needed

Embed code

<iframe
  src="https://www.fixtools.io/video-tools/video-compressor?embed=1"
  width="100%"
  height="780"
  frameborder="0"
  style="border:0;border-radius:16px;max-width:900px;"
  title="Video Compressor by FixTools"
  loading="lazy"
  allow="clipboard-write"
></iframe>

Attribution-friendly: a small "Powered by FixTools" link appears in the embed footer.

Video Compression for for Twitter/X: A Technical Overview

Twitter/X applies a stricter set of upload gates than most large platforms, and understanding each gate individually is the difference between a smooth post and a string of failed uploads. The 512MB ceiling is the headline number, but it pairs with a 2 minute 20 second duration cap for standard accounts and an implicit codec preference for H.264 in an MP4 container. The platform technically accepts MOV, but MOV files are silently re-encoded to MP4 on the server, which adds latency and an additional pass of generation loss. Submitting a file that already matches the platform's internal specification skips that re-encode and gets the post live faster, with quality closer to what you exported.

Bitrate planning for Twitter/X centres on the 512MB ceiling and the 140 second maximum duration. A simple calculation shows that 512MB across 140 seconds works out to roughly 29 Mbps total budget, which is far higher than Twitter will actually display. The practical ceiling for visible quality on Twitter is around 5 to 8 Mbps for video plus 128 kbps for audio. Allocating a budget around that figure produces a file in the 90 to 140MB range for a full 2:20 clip, which uploads quickly and gives Twitter's transcoder enough headroom to produce a clean adaptive ladder for different viewers and connection speeds.

Captions and on-screen text matter more on Twitter/X than on platforms that autoplay with sound. Around 80 percent of Twitter video views happen with audio muted, especially on mobile in a feed scroll context. Burning captions into the video at the encoding stage, rather than relying on the platform's auto-generated captions, guarantees the message lands even when audio is off. The trade-off is that hardcoded captions cannot be toggled by the viewer, so keep them legible against any background, position them in the lower third away from Twitter's own UI overlay, and use a font size that reads cleanly at the smaller mobile thumbnail dimensions.

Quality verification after encoding closes the loop. Twitter's in-feed player aggressively downsamples and re-compresses any video that exceeds its internal display ceiling, so uploading at 4K or 60fps wastes bandwidth without producing a sharper result for any viewer. Encode at 1080p 30fps with a moderate bitrate, then play the output file end-to-end before posting. Pay particular attention to fast motion sections, gradient backgrounds, and any text overlays, since these are the regions where compression artefacts appear first. If you spot blocking or banding, raise the bitrate slightly and re-encode rather than letting Twitter's server-side pass make the problem worse.

How to use this tool

💡

Upload your video and select the Twitter/X preset. The tool compresses to H.264 MP4 at Twitter-optimal settings.

How It Works

Step-by-step guide to compress video for twitter/x:

  1. 1

    Upload Your Video

    Click the upload button or drag and drop your source video. The tool accepts MP4, MOV, AVI, MKV, WebM, and most other container formats, including iPhone HEVC recordings and screen captures from QuickTime, OBS, or Loom. Processing happens in your browser, so the file does not leave your device during preparation.

  2. 2

    Apply the Twitter/X Preset

    Select the Twitter/X preset. The tool encodes to H.264 MP4 capped at 1080p 30fps, applies a target bitrate that keeps the result under 512MB, and trims the duration to 2 minutes 20 seconds if the source is longer. Audio is converted to AAC stereo at 128 kbps, which is the format Twitter/X transcodes most cleanly.

  3. 3

    Preview the Trimmed Clip

    Before finalising, scrub through the preview to confirm the trim point lands in the right place and that no critical moment was cut. If your source is longer than 2:20, the preset trims from the start by default. Adjust the in-point if the key content sits later in the clip so the upload captures the right portion.

  4. 4

    Download and Post to Twitter/X

    Click Compress, wait for encoding to finish, and download the result. The output meets every Twitter/X requirement at once: file size, duration, container, codec, and audio format. Drag it directly into the Twitter/X post composer and the upload progress bar will move faster than it would for a raw source file.

Real-world examples

Common situations where this approach makes a real difference:

Sharing event highlights on Twitter

A conference organiser captures 10 minutes of stage footage at 4K from a mirrorless camera, producing a 3.2GB MOV. The Twitter/X preset trims to the most quotable 2:20 segment, downscales to 1080p, and outputs an MP4 around 240MB. The post goes live the same evening with sharp visuals and synced audio, well within Twitter's gates.

Posting a product demo on Twitter

A SaaS founder records a 90-second product walkthrough using a screen recorder set to high bitrate, ending with a 600MB MP4. The preset re-encodes the same duration at 1080p with a lower target bitrate, producing a 180MB file. Text overlays remain crisp and cursor movement stays smooth across the timeline thumbnail.

Reposting a podcast clip with captions

A podcast team exports a 2-minute audio-driven clip with hardcoded captions from their editor at master quality, producing 850MB. The Twitter/X preset compresses the file to roughly 150MB while keeping the captions readable on mobile. The clip uploads in under a minute on a typical office connection.

Promoting a film trailer cutdown

An indie filmmaker has a 60-second trailer at ProRes 422 weighing 4.5GB. The preset converts to H.264 MP4 at 1080p 24fps and keeps the cinematic frame rate intact, producing a final file around 90MB. The trailer plays cleanly in the Twitter feed and on the embedded player on the film's landing page.

When to use this guide

Use when your video is too large for Twitter/X or when you want to reduce upload time.

Pro tips

Get better results with these expert suggestions:

1

Match resolution to the viewing context for compress video for twitter

Twitter's feed player tops out at 1080p on desktop and renders at far lower resolutions on mobile, where most plays actually happen. Uploading 4K or 1440p sources wastes encoding time and bandwidth without any visible benefit. Settle on 1080p 30fps as the practical ceiling for Twitter delivery and reserve higher resolutions for platforms like YouTube or Vimeo where viewers can actually see the difference on a large screen.

2

Re-encode from source, not from a previous compression

If you already exported a master file from your editor at high quality, always feed that master into the Twitter preset rather than a smaller version you compressed for another platform. Each re-encode compounds quality loss because compression artefacts from the first pass become part of the input the second pass tries to preserve. Keep the master archived and treat each platform export as a fresh pass from the same clean source.

3

Use a quality-targeting mode when size is not fixed

When your clip runs well under the 2:20 ceiling, a CRF based encode often beats a fixed bitrate target. CRF holds quality steady across the clip and lets the encoder spend more bits on complex sections and fewer on static ones. A CRF value around 22 to 24 with H.264 typically produces clips well inside the 512MB Twitter ceiling while keeping fast motion and gradients clean.

4

Verify audio sync after compression

Drift between video and audio is a common artefact when re-encoding files that were originally recorded with variable frame rate sources, such as iPhone screen recordings. After the Twitter preset finishes, play the last 10 seconds of the output and check that mouth movements still match speech and that any music beats still hit on the right frame. If sync has drifted, re-encode with a constant frame rate forced on the input to keep timing locked to the audio track.

5

Twitter standard limit: 512MB, 2:20 max

Standard Twitter accounts can upload videos up to 512MB and 2 minutes 20 seconds (140 seconds). Twitter Media Studio (for large accounts) allows up to 1GB.

6

1080p at 30fps is the Twitter quality ceiling

Twitter displays video at maximum 1920x1200 at 40 Mbps. Uploading at higher settings is pointless, Twitter re-encodes to its own specs.

7

Add captions in the video for silent autoplay

Twitter videos autoplay muted. Add captions or on-screen text to your video before compressing so it communicates effectively without audio.

FAQ

Frequently asked questions

The most reliable approach is to hit every Twitter/X gate in a single pass: target an H.264 MP4 with a 1080p ceiling, cap duration at 2 minutes 20 seconds, and aim for a bitrate budget that lands the final file between 100MB and 250MB. That range is well under the 512MB hard limit, leaves headroom for Twitter's own server-side transcode, and uploads in under a minute on most connections. Audio should be AAC stereo at 128 kbps, which Twitter accepts natively without re-encoding the audio track. Anything beyond that, higher resolutions, higher frame rates, or higher bitrates, will be quietly stripped back by the platform's ingest pipeline.
H.264 inside an MP4 container is the safest possible choice for Twitter/X. Every modern device, browser, and Twitter client decodes H.264 in hardware, which means the platform can stream your clip without spinning up an additional transcode pass. MOV technically uploads but goes through a conversion step on the server. HEVC, AV1, and VP9 are not reliably supported on the ingest path even though Twitter may distribute encoded copies in those codecs internally. Output H.264 MP4 from your encoder and you eliminate an entire category of upload failures and processing delays.
For Twitter delivery, the practical floor for 1080p H.264 is around 3 Mbps for talking-head style content and around 5 to 6 Mbps for clips with significant motion. Below 3 Mbps at 1080p you start to see blocky compression in dark scenes and visible banding in gradients. Dropping to 720p at a similar bitrate often looks cleaner than fighting compression artefacts at 1080p with too little bitrate. Twitter's own re-encode pass adds another small loss, so leave a quality margin on your upload rather than pushing the bitrate as low as the file size budget allows.
Only if you explicitly choose to downscale. The Twitter preset caps resolution at 1080p because that is the highest dimension the platform actually displays in feed, but it will not upscale a 720p source to 1080p, nor will it downscale a 1080p source to 720p unless the bitrate budget would otherwise produce visible artefacts. If your master is 4K, downscaling to 1080p is the right call for Twitter because no viewer in the feed can resolve more than 1080p worth of detail anyway. The platform will downscale for you if you skip this step, but doing it locally gives you control over the scaling algorithm.
Yes, and for clips originally recorded on the same phone it is often the fastest path. iOS offers a built-in compression step in the Photos share sheet when you choose a smaller upload size, and Twitter's native iOS and Android apps will themselves apply a compression pass before upload if the source exceeds limits. The trade-off is control: phone-side compression rarely lets you set a specific bitrate, choose between H.264 and HEVC, or trim duration precisely. For one-off personal posts the phone is enough, but for branded or professional uploads a browser tool gives more predictable results.
HandBrake is the standard recommendation, with an active development cycle, broad codec support, and a built-in preset library that includes social-platform targets. It runs on Windows, macOS, and Linux, imposes no file size limit, and applies no watermark. For Twitter specifically, the HandBrake Discord 1080p30 preset is a reasonable starting point that you can then tune to a tighter bitrate. FFmpeg from the command line offers the most precise control and is also free, but the learning curve is steeper. Browser-based tools like this one cover the middle ground without a download step.
Operating system file managers all expose file size directly. On macOS, select the file and press Command-I to open the Get Info window. On Windows, right-click the file and choose Properties, where size appears on the General tab. On Linux, ls -lh from a terminal prints sizes in human-readable units. Compare the original and the compressed output to compute the compression ratio: original divided by compressed gives you the factor of reduction, and one minus the inverse gives the percentage saved. Tracking these numbers across exports helps you tune presets over time.
Yes, every video uploaded to Twitter/X goes through a server-side transcode pass that produces an adaptive bitrate ladder for different viewer connections. The ladder typically includes 360p, 540p, 720p, and 1080p variants, plus a thumbnail strip for the scrubber. Uploading a file that already matches the platform's internal source specification, H.264 MP4 at 1080p 30fps, lets the transcoder produce each rung of the ladder from clean input. Uploading an oversized or off-spec file forces the transcoder to first normalise the source, which can introduce small additional artefacts before the ladder is generated.
Twitter's in-feed player supports aspect ratios from 1:2.39 wide to 9:16 vertical, but the most reliable performers are 16:9 landscape, 1:1 square, and 9:16 vertical. Square (1:1) takes up the most vertical real estate in the feed on desktop and mobile alike, which generally translates into higher completion rates. Vertical (9:16) is the right choice for mobile-first content where you want the video to fill the entire phone screen. Pick the aspect ratio at the editing stage rather than letting Twitter letterbox or pillarbox, since black bars add filesize without contributing visible information.
Engagement data from public Twitter analytics studies consistently points to the 30 to 45 second range as the sweet spot for organic reach. Videos in that range tend to get watched to completion, which feeds into the recommendation algorithm. The platform allows up to 2 minutes 20 seconds for standard accounts and the FixTools preset will not trim aggressively, but for posts where reach matters more than detail, edit the clip down before encoding. A tighter cut with a strong opening five seconds usually outperforms the same content stretched over a longer runtime.

Ready to get started?

Open the full Video Compressor — free, no account needed, works on any device.

Open Video Compressor →

Free · No account needed · Works on any device