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:

ClientGIF capNotes
x.com (desktop web)15 MBHigher of the two. Useful if you're composing tweets from a laptop.
iOS / Android app5 MBWhat most people hit. Tighter sizing required.
MP4 video (web)512 MBFor longer clips with audio — use the video compressor instead.
MP4 video (mobile)15 MBSame 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.

SettingMobile-safeDesktop-safeWhy
Width320–480 px480–640 pxX downscales for the feed anyway — going above 640px wastes file size.
Frame rate12 fps15 fps12 fps is the lowest setting that still feels smooth on motion. 15 is the comfortable default.
Duration3–5 sec5–8 sec~600 KB/sec at 480p/15fps. 5 sec ≈ 3 MB (mobile-safe), 10 sec ≈ 6 MB (over mobile cap).
LoopForeverForeverX 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

  1. Open the converter. The Reddit / Discord embed preset (480p, 15fps) is selected — that's desktop-safe for X. For mobile safety, switch to Messaging.
  2. Drop your video. MP4, MOV, WebM, MKV, AVI, 3GP — any size. Runs locally, no upload.
  3. 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.
  4. 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.

Open converter →

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:

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 serverNo — runs locallyYesYesYes
Free file-size capNone1 GB200 MB1 GB
Conversions per day (free)Unlimited10 / dayUnlimited
Watermark on free tierNeverNoneNone"VEED" on free
X mobile-cap presetYes — Messaging (320/12)Generic onlyGeneric onlyGeneric only
Works offline after first visitYesNoNoNo

Try it now

Convert your video to a tweet-ready GIF

Free. In your browser. No signup, no upload, no watermark.

Open converter →

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:

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.