Compress video for X (Twitter)
Get videos under X’s 512 MB upload limit with sharp 720p or 1080p. Runs in your browser, so the clip never leaves your device.
X (Twitter)
X accepts video files up to 512 MB. Free accounts can post clips up to 2 minutes 20 seconds long.
X re-encodes everything you upload, so a clean 720p or 1080p H.264 file gives its encoder the best starting point.
What fits in 512 MB
What the compressor picks for a typical 1080p 30 fps phone clip (about 16 Mbit/s) of different lengths when the limit is 512 MB:
| Clip length | Resolution | Video bitrate |
|---|---|---|
| 30 seconds | Fits without compressing | – |
| 1 minute | Fits without compressing | – |
| 2 minutes | Fits without compressing | – |
| 5 minutes | 1080p | 12,696 kbit/s |
| 10 minutes | 1080p | 6,279 kbit/s |
How it works
- We read your video locally and measure how detailed (SI) and how much in motion (TI) it is.
- From the size you pick we compute an exact bitrate budget, then choose the resolution and frame rate that look best at that budget. Lower resolution with enough bits beats blocky full resolution.
- Your GPU encodes it through WebCodecs. Formats the browser cannot decode go through FFmpeg compiled to WebAssembly.
- If the result is even slightly over the limit, we re-encode with a corrected bitrate, so the file fits.
Questions
Why is my video rejected by X?
Usually because it is over 512 MB, longer than your account allows, or uses a codec X does not accept. An H.264 MP4 under the limit avoids all three.
Is my video uploaded?
No. Nibbo runs in your browser and compresses the video on your device. You can switch off Wi-Fi after the page loads and it still works.
Why does my video get a lower resolution?
A small file has a fixed number of bits. Spreading them over fewer pixels gives a clean picture; keeping full resolution would make it blocky.