Free Tool

X Video Specs Checker

Drop a video and find out whether X will take it, before you sit through the upload. Container, codec, aspect ratio and duration, all checked in your browser.

Why X rejects videos

Almost always the codec. X accepts H.264 and rejects H.265 at upload, and modern phone cameras record H.265 by default. This tool reads the codec out of the file header locally, checks duration against the 140 second standard cap, and tells you what to re-encode. Nothing is uploaded.

Drop a video file here

MP4 or MOV. The file stays on your machine. There is no upload request in this page.

X video requirements

PropertyRequirement
ContainerMP4. MOV is accepted by the web uploader.
Video codecH.264 only. H.265 (HEVC) is rejected at upload.
Audio codecAAC. AC-3 and E-AC-3 are not accepted.
Duration2 minutes 20 seconds (140 seconds) on a standard account. Premium accounts can post longer.
Aspect ratioBetween 1:3 and 3:1. 16:9, 1:1, 4:5 and 9:16 display cleanly in the timeline.
File size512 MB, per X media upload documentation.
Pixel formatyuv420p. 4:2:2 and 4:4:4 sources should be converted.

The codec, duration and aspect ratio checks in the tool above are the ones it verifies against your actual file. Size and pixel format are listed from X media upload documentation for reference.

Your file does not leave this device

There is no upload endpoint behind this page. Everything happens in the tab you are looking at, and you can confirm it: open the network panel in your browser dev tools, drop a file, and watch for a request that never comes.

The header is read in chunks

Blob.slice gives the tool a few kilobytes at a time. It walks the top level MP4 boxes to find moov without ever reading the video data.

The codec comes from the fourcc

Inside moov, the sample entry code is avc1 or avc3 for H.264, hvc1 or hev1 for H.265, mp4a for AAC. Four bytes decide the verdict.

Dimensions come from the browser

A hidden video element loaded from an object URL reports videoWidth, videoHeight and duration. The URL is revoked as soon as the metadata is read.

Schedule the video once it passes

OpenTweet uploads your media, schedules the post for the time you actually want it out, and can do the whole thing from a REST call or an AI agent through MCP. No sitting in the uploader at 9pm.

7-day free trial, then $11.99/mo. Cancel anytime.

X Video Specs FAQ

Why does my video fail to upload to X with no error?

The usual cause is H.265, also called HEVC. X rejects it at upload and accepts H.264 only. Modern iPhones and many Android cameras record H.265 by default, so the file plays fine everywhere else and dies at the X uploader.

How long can a video be on X?

A standard account is capped at 2 minutes 20 seconds, which is 140 seconds. Premium accounts can post longer, with the exact ceiling depending on tier and upload surface.

Is my video uploaded to your server?

No. The file is read in your browser with the File and Blob APIs. The codec comes from parsing the MP4 box structure locally and the dimensions come from a hidden video element. No network request carries the file.

How can a web page detect the video codec without uploading the file?

An MP4 is a tree of boxes. The tool walks the top level boxes to find moov, then reads the four character sample entry code inside it: avc1 or avc3 for H.264, hvc1 or hev1 for H.265, mp4a for AAC audio. Only a few kilobytes of the file need to be read.

How do I convert H.265 to H.264 for X?

With ffmpeg: ffmpeg -i input.mov -c:v libx264 -profile:v high -pix_fmt yuv420p -c:a aac -b:a 128k output.mp4. On an iPhone you can also switch Settings, Camera, Formats to Most Compatible so future recordings are H.264 from the start.

What aspect ratios does X accept?

Anything between 1:3 and 3:1. In practice 16:9 for landscape, 1:1 for square and 9:16 or 4:5 for vertical are the ratios that display without cropping in the timeline.