How to Make a GIF for Twitter (X)
Updated June 2026 · Free, in your browser, fits the 15 MB web / 5 MB mobile upload cap
X (formerly Twitter) accepts GIF uploads up to 15 MB on the web and 5 MB in the mobile apps. The mobile cap is the one that bites most tweets. X then transcodes your GIF to silent MP4 on upload — keeping the autoplay-loop-no-sound behavior but using a smaller, more efficient container. This page walks through how to convert any short video to a tweet-ready GIF that survives the mobile cap, with no upload to a third-party server, no signup, no watermark.
X's GIF size limits explained
X has two separate caps for GIF uploads depending on where you tweet from:
| Client | GIF cap | Notes |
|---|---|---|
| x.com (desktop web) | 15 MB | Higher of the two. Useful if you're composing tweets from a laptop. |
| iOS / Android app | 5 MB | What most people hit. Tighter sizing required. |
| MP4 video (web) | 512 MB | For longer clips with audio — use the video compressor instead. |
| MP4 video (mobile) | 15 MB | Same idea — videos for sound or long clips. |
One important quirk: X transcodes your uploaded GIF to MP4 on the server side. It's been doing this since 2014 to save bandwidth. The behavior (autoplay, loop, no sound, no controls) stays identical from the viewer's perspective — but the file you upload doesn't have to be the file that gets served. The cap applies to the upload, not the rendered output.
Tweet-ready GIF sizing
If you're tweeting from desktop, you have 15 MB to work with. If mobile, only 5 MB. The mobile cap is what to design for — that way the same GIF works in either client.
| Setting | Mobile-safe | Desktop-safe | Why |
|---|---|---|---|
| Width | 320–480 px | 480–640 px | X downscales for the feed anyway — going above 640px wastes file size. |
| Frame rate | 12 fps | 15 fps | 12 fps is the lowest setting that still feels smooth on motion. 15 is the comfortable default. |
| Duration | 3–5 sec | 5–8 sec | ~600 KB/sec at 480p/15fps. 5 sec ≈ 3 MB (mobile-safe), 10 sec ≈ 6 MB (over mobile cap). |
| Loop | Forever | Forever | X serves GIFs in loop-forever mode regardless of your setting, so just leave it. |
Our converter's Reddit / Discord embed preset (480p / 15fps) is desktop-safe out of the box. For the mobile cap, switch to Messaging (320p / 12fps) or keep 480p and drop duration under 5 seconds.
Make a tweet GIF in 30 seconds
- Open the converter. The Reddit / Discord embed preset (480p, 15fps) is selected — that's desktop-safe for X. For mobile safety, switch to Messaging.
- Drop your video. MP4, MOV, WebM, MKV, AVI, 3GP — any size. Runs locally, no upload.
- Trim tight. 3–6 seconds is the sweet spot. Anything over 8 seconds will exceed X's 5 MB mobile cap at most sensible settings.
- Attach to a tweet. Click Download GIF, then attach the file via the X composer. The site transcodes to MP4 on upload — viewers won't notice.
Open the X-ready converter
Free. In your browser. No signup, no upload, no watermark.
Why this works in your browser (no upload)
Every top "mp4 to gif" result on Google — CloudConvert, EZgif, VEED, Adobe Express, Convertio — uploads your video to their server first. That adds friction:
- Upload wait — usually the slowest part on home internet.
- Your file on a third-party server for whatever data-retention window the service defines.
- Free tier limits — CloudConvert caps at 10 conversions/day, EZgif at 200 MB file size, VEED watermarks the output.
This converter runs ffmpeg.wasm in your browser. No upload, no signup, no watermark, no conversion cap. To verify: disconnect from Wi-Fi after the page loads — the converter keeps working.
How we compare
| This tool | CloudConvert | EZgif | VEED.io | |
|---|---|---|---|---|
| Video uploaded to a server | No — runs locally | Yes | Yes | Yes |
| Free file-size cap | None | 1 GB | 200 MB | 1 GB |
| Conversions per day (free) | Unlimited | 10 / day | Unlimited | — |
| Watermark on free tier | Never | None | None | "VEED" on free |
| X mobile-cap preset | Yes — Messaging (320/12) | Generic only | Generic only | Generic only |
| Works offline after first visit | Yes | No | No | No |
Try it now
Convert your video to a tweet-ready GIF
Free. In your browser. No signup, no upload, no watermark.
FAQ
What is Twitter / X's GIF size limit?
15 MB on x.com (web), 5 MB in the mobile apps. The mobile cap is what most tweets hit. X transcodes uploaded GIFs to silent MP4 server-side.
Does X re-encode my GIF?
Yes — to silent MP4, since 2014. The behavior (autoplay, loop, no sound) stays identical. From a viewer's standpoint it looks and feels like a GIF.
What size should a GIF be for X?
Mobile-safe: 320–480px wide at 12 fps, under 5 seconds. Desktop-only: 480–640px at 15 fps, up to ~8 seconds.
How long can a tweet GIF be?
No explicit duration cap. The 5 MB mobile cap is the constraint. At 480p/15fps GIFs run ~600 KB/sec, so 5 seconds ≈ 3 MB (safe), 10 seconds ≈ 6 MB (over mobile cap).
Does my video get uploaded to your server?
No. Conversion runs in your browser via ffmpeg.wasm. Disconnect from Wi-Fi after page load to verify — the converter keeps working.
Should I upload an MP4 instead of a GIF?
For clips with sound or anything over 8 seconds → MP4. For silent loopable moments under 6 seconds → GIF.
Is there a watermark?
No. Clean .gif output. No signup, no overlay.
Other GIF targets
Same converter, different sizing per destination:
- Make a GIF for Reddit — same desktop-safe preset works
- Make a GIF for Discord — 10 MB free cap
- MOV → GIF — for iPhone QuickTime footage
- Convert any video to GIF — pick your own settings
For longer clips with audio that won't work as a GIF, use our video compressor to fit X's 15 MB mobile video cap instead.
This page is part of the Essex MP4 to GIF Converter docs. The tool is free, runs entirely in your browser via WebAssembly, and is published by Essex Software.