X (Twitter) Video Compressor
Check a short video and make an MP4 sharing copy for X using a 140-second / 512MB preset. This does not check every upload rule or account restriction, and cannot guarantee acceptance.
X compliance check
Useful next tools
What this tool does
- Basic duration, size, codec, pixel-format, audio and fps checks
- Convert streams that need changes and copy compatible streams
- Neutral download name with automatic tag and chapter copying suppressed
How to use
- 1
Choose a video
Select a video up to 500MB. Even smaller inputs can exceed device memory.
- 2
Check basic properties
Inspect formats and duration. Trim above 140 seconds, unless a Premium long-video workflow fits your account.
- 3
Convert and play
Check the saved copy's color, sound and size, and the current limits shown by your X upload screen.
What each setting means
Recommended settings
Common pitfalls
Symptom: A checked video is rejected
Cause: Resolution, aspect ratio, connectivity and account restrictions are not fully checked.
Fix: Read the upload error and official help.
Symptom: HDR colors look faded
Cause: Pixel-format conversion is separate from HDR tone mapping.
Fix: Keep the original and create a properly tone-mapped copy.
Equivalent FFmpeg commands
Reference commands you can run on the desktop FFmpeg CLI.
Historical log: 2026-09-11, 4 successful example executions and 0 excluded (desktop FFmpeg 8.1, fixtures). This log does not verify later edits, browser controls or visual quality.
ffmpeg -i input.mp4 -map 0:v:0? -map 0:a:0? -c:v libx264 -preset veryfast -profile:v high -pix_fmt yuv420p -b:v 4500k -maxrate 4950k -bufsize 9000k -c:a aac -b:a 128k -profile:a aac_low -movflags +faststart output.mp4 ffmpeg -i input.mp4 -map 0:v:0? -map 0:a:0? -c:v libx264 -preset veryfast -profile:v high -pix_fmt yuv420p -c:a copy -movflags +faststart output.mp4 ffmpeg -i input.mp4 -map 0:v:0? -map 0:a:0? -vf "fps=60" -c:v libx264 -preset veryfast -profile:v high -pix_fmt yuv420p -crf 23 -c:a copy -movflags +faststart output.mp4 ffmpeg -i input.mp4 -t 139 -c copy output_trimmed.mp4 Browser support & limits
- 500MB input cap; completion is not guaranteed on low-memory devices.
- Premium long video, resolution/aspect ratio and account restrictions are not fully checked.
- No HDR tone mapping, face tracking, screen anonymization or voice removal.
Privacy
This tool runs ffmpeg.wasm directly in your browser. Files never leave your device — everything runs locally. Read the privacy policy →
Frequently asked questions
Does Premium also stop at 140 seconds / 512MB?
No. These are short-video tool settings. Longer-video conditions vary by device, duration and resolution; check the official help below.
Do passing checks guarantee acceptance?
No. Six local checks do not reproduce X's unpublished rules or account state.
What about my original and private information?
Processing runs in your browser without changing the original. Library downloads use external connections. The output uses a neutral name and suppresses automatic tag and chapter copying, but visible addresses, faces, screens and speech remain.
Does quality change?
Re-encoding can reduce quality; copied streams are not re-encoded. Play the saved file before sharing.
Related tools
Related FFmpeg recipes
In depth: context unique to this tool
Separate upload conditions from local analysis
Checked 2026-09-10. X's official longer-video help describes a 140-second non-Premium limit and different Premium conditions by device and quality. The 512MB setting here is a fixed short-video preset.
This tool reads properties from FFmpeg analysis. It does not know X's internal check order or unpublished rules. Before sharing, inspect picture, sound and whether the content is appropriate to publish, as well as size.