Getting Your Videos Right for Twitter/X
Twitter (now X) processes billions of video views every month, making it one of the most important platforms for video content alongside YouTube, TikTok, and Instagram. But uploading video to X is not as simple as dragging and dropping — the platform has specific format requirements, size limits, and encoding preferences that determine whether your video looks sharp or becomes a blocky mess after processing.
X re-encodes every video you upload, regardless of the input format. This means your upload settings directly influence the final quality. Upload too-compressed video, and X's re-encoding compounds the quality loss. Upload overly large raw footage, and you hit size limits or waste time on slow uploads.
This guide covers the exact settings that produce the best-looking video on X, along with solutions for every common problem — format incompatibility, files too large, wrong aspect ratio, and videos that look great on your computer but terrible after uploading.

Twitter/X Video Specifications (2026)
| Specification | Free Account | X Premium / Premium+ |
|---|---|---|
| Maximum file size | 512 MB | 8 GB |
| Maximum duration | 2 minutes 20 seconds (140 sec) | 4 hours (Premium+) / 60 min (Premium) |
| Supported formats | MP4, MOV | MP4, MOV |
| Recommended codec | H.264 (High Profile) | H.264 (High Profile) |
| Maximum resolution | 1920x1200 | 1920x1200 |
| Recommended resolution | 1280x720 (720p) | 1920x1080 (1080p) |
| Frame rate | 30 or 60 fps | 30 or 60 fps |
| Maximum bitrate | 25 Mbps | 25 Mbps |
| Audio codec | AAC (LC) | AAC (LC) |
| Audio sample rate | 44.1 kHz | 44.1 kHz |
Note that X's specifications have changed several times since the rebrand from Twitter. The values above reflect the latest requirements as of early 2026. For a broader comparison of social media platforms, see our social media video specs 2026 guide.
Pro Tip: X displays video differently depending on the aspect ratio. 16:9 landscape videos get the largest display area in the feed, filling the full width of the post. 1:1 square videos also display well. Vertical 9:16 videos display with significant pillarboxing on desktop, reducing their visual impact. If your audience is primarily on desktop, use 16:9. If mobile-first, 1:1 is a good compromise.
Recommended Encoding Settings
These settings produce the best quality after X processes your upload:
Landscape (16:9) — Best for General Content
ffmpeg -i input.mp4 -c:v libx264 -profile:v high -level 4.2 \
-crf 18 -preset slow -bf 2 -g 30 \
-vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2" \
-pix_fmt yuv420p -c:a aac -b:a 192k -ar 44100 \
-movflags +faststart output_twitter.mp4
Square (1:1) — Best for Feed Visibility
ffmpeg -i input.mp4 -c:v libx264 -profile:v high -level 4.2 \
-crf 18 -preset slow \
-vf "crop=ih:ih,scale=1080:1080" \
-pix_fmt yuv420p -c:a aac -b:a 192k -ar 44100 \
-movflags +faststart output_twitter_square.mp4
Vertical (9:16) — For Mobile-First Content
ffmpeg -i input.mp4 -c:v libx264 -profile:v high -level 4.2 \
-crf 18 -preset slow \
-vf "crop=ih*9/16:ih,scale=1080:1920" \
-pix_fmt yuv420p -c:a aac -b:a 192k -ar 44100 \
-movflags +faststart output_twitter_vertical.mp4
Key encoding parameters explained:
-profile:v high -level 4.2— H.264 High Profile at level 4.2, which X officially supports.-crf 18— High quality. Upload a high-quality source because X will re-encode at lower quality.-bf 2 -g 30— Two B-frames and a keyframe every 30 frames, which X's processor handles well.-pix_fmt yuv420p— Required for compatibility. Without this, some browsers cannot play the video.-ar 44100— 44.1 kHz audio sample rate, which X specifically requires.
For a deeper understanding of these codec settings, read our video codecs explained article.

Aspect Ratio Guide for X
X supports a wide range of aspect ratios, but they display differently in the feed:
| Aspect Ratio | Resolution | Feed Display | Best For |
|---|---|---|---|
| 16:9 (landscape) | 1920x1080 | Full width, large preview | General content, cinematic clips |
| 1:1 (square) | 1080x1080 | Large, well-centered | Product demos, quotes, repurposed IG content |
| 4:5 (portrait) | 1080x1350 | Tall, good mobile display | Repurposed Instagram content |
| 9:16 (vertical) | 1080x1920 | Pillarboxed on desktop, full on mobile | Repurposed TikTok/Reels |
| 2.39:1 (cinematic) | 1920x803 | Letterboxed | Movie trailers, cinematic content |
For detailed techniques on changing aspect ratios, see our how to change video aspect ratio tutorial. Our crop video tool lets you visually adjust the crop area.
Converting Common Formats for X
X only accepts MP4 and MOV. If your video is in another format, convert it first:
MKV to X-Ready MP4
ffmpeg -i input.mkv -c:v libx264 -crf 18 -profile:v high \
-pix_fmt yuv420p -c:a aac -b:a 192k -ar 44100 \
-movflags +faststart output.mp4
See our MKV to MP4 guide for more options.
WebM to X-Ready MP4
ffmpeg -i input.webm -c:v libx264 -crf 18 -profile:v high \
-pix_fmt yuv420p -c:a aac -b:a 192k -ar 44100 \
-movflags +faststart output.mp4
AVI to X-Ready MP4
ffmpeg -i input.avi -c:v libx264 -crf 18 -profile:v high \
-pix_fmt yuv420p -c:a aac -b:a 192k -ar 44100 \
-movflags +faststart output.mp4
See our AVI to MP4 guide for the complete tutorial. Our video converter handles all of these conversions online.
Pro Tip: Always upload the highest quality version you can within X's limits. X re-encodes every video, so starting with a high-quality source (CRF 18 or lower) gives X's encoder more to work with, resulting in a better final product. Think of it like photocopying — a photocopy of a sharp original looks better than a photocopy of a photocopy.
Handling the Duration Limit
Free accounts are limited to 2 minutes 20 seconds (140 seconds). If your video is longer, you have several options:
Trim to 140 Seconds
# Keep the first 2 minutes 20 seconds
ffmpeg -i input.mp4 -t 140 -c:v libx264 -crf 18 \
-c:a aac -b:a 192k -ar 44100 \
-movflags +faststart output_trimmed.mp4
Our video trimmer provides a visual timeline for choosing the best segment.
Split into a Thread
Create multiple clips and post as a thread:
# Split into 2-minute segments
ffmpeg -i input.mp4 -c copy -f segment \
-segment_time 140 -reset_timestamps 1 \
"thread_part_%02d.mp4"
Subscribe to X Premium
X Premium subscribers can upload videos up to 60 minutes (Premium) or 4 hours (Premium+), with an 8 GB file size limit. If you regularly post long-form content, this removes the friction entirely.
Reducing File Size for X
If your video exceeds 512 MB (free) or you want faster uploads:
# Compress to under 512 MB
ffmpeg -i input.mp4 -c:v libx264 -crf 22 -preset medium \
-vf "scale='min(1920,iw)':'min(1080,ih)':force_original_aspect_ratio=decrease" \
-pix_fmt yuv420p -c:a aac -b:a 128k -ar 44100 \
-movflags +faststart output_compressed.mp4
Our video compressor does this automatically. For more compression techniques, read our guide on how to compress video online.
Adding Subtitles/Captions
Videos with captions get significantly more engagement on X because most users scroll with sound off. Burn subtitles into the video:
ffmpeg -i input.mp4 -vf "subtitles=captions.srt:force_style='FontSize=24,PrimaryColour=&H00FFFFFF,OutlineColour=&H00000000,Outline=2'" \
-c:v libx264 -crf 18 -c:a aac -b:a 192k -ar 44100 \
-movflags +faststart output_captioned.mp4
For comprehensive subtitle options, see our how to add subtitles to video guide.
Optimizing Video Thumbnails
X auto-generates a thumbnail from the middle of your video. To control which frame appears:
- Design a custom thumbnail and upload it when posting (X Premium feature).
- Front-load the best frame — place a compelling still image at the start of the video.
- Use a consistent thumbnail style for brand recognition.
If you need to create a thumbnail image from a video frame, our image converter can help convert the extracted frame to the right format.

GIF-Like Videos: Looping Short Clips
X supports GIF uploads, but internally converts them to MP4 for efficient playback. For the best quality, upload a short MP4 instead of a GIF:
# Create a looping clip (no audio, small file)
ffmpeg -i input.mp4 -t 6 -an \
-c:v libx264 -crf 20 -pix_fmt yuv420p \
-movflags +faststart loop_clip.mp4
For creating GIFs from video, see our how to create GIF from video guide. Our GIF maker tool creates GIFs directly from video files.
Common X Video Upload Errors
"Your media file could not be processed"
This usually means an incompatible codec or pixel format. Fix with:
ffmpeg -i input.mp4 -c:v libx264 -profile:v high \
-pix_fmt yuv420p -c:a aac -ar 44100 \
-movflags +faststart output.mp4
The most common cause is yuv444p or yuv422p pixel format — X requires yuv420p.
"Video too long"
Free accounts: 140 seconds max. Trim using our video trimmer or the FFmpeg trim command above.
Video looks blurry after uploading
You uploaded a low-quality source, and X's re-encoding made it worse. Re-encode from the original source at CRF 18 or lower before uploading.
No audio on playback
Check that the audio is AAC at 44.1 kHz. Other sample rates (48 kHz, 96 kHz) can cause issues:
ffmpeg -i input.mp4 -c:v copy -c:a aac -ar 44100 -b:a 192k output.mp4
Video is sideways or upside down
Phone recordings sometimes have rotation metadata that X does not handle correctly. Fix it:
ffmpeg -i input.mp4 -c:v libx264 -crf 18 \
-vf "transpose=1" -c:a copy output.mp4
Our rotate video tool handles this with a visual preview.
Batch Preparing Videos for X
If you produce multiple videos per day for X:
#!/bin/bash
for f in *.mp4; do
ffmpeg -i "$f" -c:v libx264 -profile:v high -level 4.2 \
-crf 18 -preset medium -pix_fmt yuv420p \
-vf "scale='min(1920,iw)':'min(1080,ih)':force_original_aspect_ratio=decrease" \
-c:a aac -b:a 192k -ar 44100 \
-movflags +faststart "twitter_${f}"
done
For comprehensive batch processing, read our batch processing files guide.
Cross-Platform Video Strategy
If you are creating content for multiple platforms, produce one high-quality master and derive platform-specific versions:
# Master (highest quality)
ffmpeg -i raw_footage.mp4 -c:v libx264 -crf 16 -preset slow \
-c:a aac -b:a 256k master.mp4
# X version (16:9, 1080p, optimized)
ffmpeg -i master.mp4 -vf "scale=1920:1080" \
-c:v libx264 -crf 18 -pix_fmt yuv420p \
-c:a aac -b:a 192k -ar 44100 \
-t 140 -movflags +faststart twitter.mp4
# TikTok/Reels version (9:16, 1080x1920)
ffmpeg -i master.mp4 -vf "crop=ih*9/16:ih,scale=1080:1920" \
-c:v libx264 -crf 20 -c:a aac -b:a 128k tiktok.mp4
# Instagram feed (1:1, 1080x1080)
ffmpeg -i master.mp4 -vf "crop=ih:ih,scale=1080:1080" \
-c:v libx264 -crf 20 -c:a aac -b:a 128k instagram.mp4
For platform-specific guides, see convert video for Instagram Reels and TikTok and best video format for social media 2026.
Summary
The best video settings for Twitter/X in 2026 are:
- Format: MP4 with H.264 High Profile
- Resolution: 1920x1080 (1080p) for maximum quality
- Frame rate: 30 fps for most content, 60 fps for fast action
- CRF: 18 (upload high quality; X will re-encode)
- Audio: AAC at 192 kbps, 44.1 kHz sample rate
- Pixel format:
yuv420p(mandatory) - Duration: 140 seconds (free) or up to 4 hours (Premium+)
- File size: Under 512 MB (free) or 8 GB (Premium)
Use our video converter for format conversion, the video compressor for size reduction, and the video trimmer for cutting to length. With the right encoding settings, your X videos will look sharp, load fast, and stand out in the feed.



