Twitter/X has different file size caps for GIF uploads on desktop (15 MB) and mobile (5 MB), and for a reaction GIF that’s posted-and-shared by people on phones, the mobile limit is the one that matters. This guide covers what fits each limit, how to make a GIF that uploads cleanly across both, and the dimension and frame-rate constraints that affect playback in the X timeline.
Jump to a section
- Twitter/X GIF limits (2026)
- Why mobile matters more than desktop
- Settings cheat sheet
- Step by step in xconvert
- Common mistakes that get GIFs rejected
- FAQ
Twitter/X GIF limits (2026)
Twitter/X’s documented GIF specs:
| Spec | Limit |
|---|---|
| Desktop / web upload | 15 MB |
| Mobile (iOS / Android app) upload | 5 MB |
| Maximum dimensions | 1280 × 1080 px |
| Frame rate | No documented cap; keep ≤ 30 fps for smooth playback |
| Maximum length | No documented cap; practical: ≤ 6 seconds for engagement |
| Per tweet | 1 GIF (cannot combine with other images) |
In practice, for a GIF that uploads reliably from any device, target 5 MB so it works for both desktop and mobile uploads. If you know you’re posting from desktop and the file is going to be downloaded by mobile users (Twitter handles that re-encode), 15 MB is fine — Twitter compresses GIFs on the server side for mobile delivery.
Why mobile matters more than desktop
Most Twitter/X engagement happens on mobile. If the GIF’s source is high-resolution (a screen recording at 1920×1080), it’ll easily blow past 5 MB even at heavy compression — but most viewers will see it on a phone screen at ~360 px wide anyway. The visual difference between 1280 px source and 480 px source is invisible at typical mobile viewing sizes.
The mobile cap is also the consistent cap across both upload paths. If you’re tweeting on the go and the file’s 8 MB, the upload fails. If you compress to under 5 MB once, it works everywhere.

Settings cheat sheet
Two tiers depending on where you’ll upload from:
Mobile-safe (under 5 MB) — recommended
| GIF type | Resolution | FPS | Colors | Notes |
|---|---|---|---|---|
| Reaction / face GIF | 480 × 480 | 12 | 64 | ~3–4 MB for 4 sec |
| Screen recording | 720 × 405 | 12 | 64 | ~4 MB for 5 sec |
| Animation / motion graphic | 600 × 400 | 15 | 128 | ~4.5 MB for 4 sec |
Desktop-only (under 15 MB)
| GIF type | Resolution | FPS | Colors | Notes |
|---|---|---|---|---|
| Reaction / face GIF | 720 × 720 | 18 | 128 | ~10 MB for 5 sec |
| Screen recording | 1280 × 720 | 15 | 128 | ~13 MB for 6 sec |
| Animation / motion graphic | 960 × 540 | 24 | 128 | ~12 MB for 5 sec |
For most use cases, target the mobile cap — Twitter’s automatic transcoding makes a 5 MB GIF look almost identical to a 15 MB one when displayed in the timeline at 600 px wide.
Step by step in xconvert
For Twitter, you’ll usually get away with just frame-dropping plus resolution. Quality is optional for extra savings.
- Open xconvert.com/compress-gif and click + Add Files to pick your animated GIF.
- In Advanced Options → Drop Frames, click the Drop Frames button — the default is ORIGINAL.

- In the Frames To Drop dropdown that appears, pick Remove every 3rd frame — the standard GIF baseline. Drops a third of frames with no visible motion judder for typical reaction or screen content. Use every 2nd only for very smooth source content where one notch isn’t enough to fit.

- In Image resolution (Resolution Percentage is the default mode), drag the By Percentage slider down hard — most Twitter viewers see GIFs in the timeline at ~600 px wide on desktop and ~360 px on mobile, so source dimensions above 480 px are wasted bytes:
- 35–45% for Twitter mobile (5 MB cap) on a 1080p source
- 50–60% for desktop-only (15 MB cap)

- Heads-up — GIF will look worse than the source video. GIF caps the palette at 256 colors per frame and stores every frame as a full image. Photographic / gradient-heavy content visibly bands and posterizes vs. the MP4. That’s the GIF format itself, not the compressor — if you can post MP4 instead, do (Twitter accepts MP4 up to 512 MB and auto-loops videos under ~60 seconds).
- (Optional) Click Image Quality (%) for additional savings:

- Drag the Quality Percentage slider to ~75% — Twitter’s mobile delivery transcoding hides this much quality loss.

- Click Compress. Wait. Download.
- Verify file size is under 5 MB for mobile-safe or under 15 MB for desktop-only before tweeting.
Common mistakes that get GIFs rejected
1. GIFs over 1280 × 1080 dimensions. Twitter has a hard dimension cap. Bigger source GIFs get rejected even if file size is under 15 MB. Always confirm dimensions ≤ 1280 wide and ≤ 1080 tall.
2. Trying to combine a GIF with other images in one tweet. Twitter allows either 1 GIF OR up to 4 still images in a tweet — not mixed. If you want both, post the GIF and the images as a thread or separate tweets.
3. Uploading from mobile when over 5 MB. Twitter’s mobile app silently fails or strips the upload when the file exceeds 5 MB. The desktop-web path is more forgiving, but for the same reason: you might post-and-forget on desktop and find later that mobile users see a broken thumbnail.
4. GIFs with paletted-out colors that look fine in preview but bad after upload. Twitter applies its own palette quantization on the server when delivering. Source GIFs with subtle color gradients (sunsets, skin tones, rendered shaders) sometimes look noticeably worse after Twitter’s compression than they do in your preview. Test on the platform after upload.
5. Animated GIFs longer than 6 seconds. No hard limit, but engagement drops sharply after 6 seconds. Long looping GIFs look fine on file but feel boring in the timeline. Trim to the most expressive moments.
Frequently Asked Questions
Does Twitter convert my GIF to MP4?
Yes, in the timeline. Twitter serves GIFs as silent MP4 (H.264) for bandwidth efficiency on mobile. Your uploaded GIF is the source, but viewers see a transcoded MP4. That means a 15 MB GIF and a 4 MB GIF often look similar to viewers because the timeline player uses Twitter’s compressed version of either.
Can I upload an MP4 instead of a GIF for the same look?
Yes. Twitter supports MP4 video uploads up to 512 MB for non-Premium users on both desktop and mobile; auto-loop applies to videos under ~60 seconds. For a “looping animation” use case, an MP4 at 1280×720 H.264 is typically 5–10× smaller than the equivalent GIF with much better quality. Use GIF to MP4 converter if you want to switch formats.
Why does my GIF look worse after Twitter than before?
Two reasons: (1) Twitter applies its own server-side compression when delivering, especially on mobile, (2) Twitter quantizes the color palette when transcoding to its delivery format. The fix is partial: upload at higher quality so Twitter’s compression has more headroom. But for very subtle color content (sunsets, gradients), some quality loss after upload is unavoidable.
Does sound work in Twitter GIFs?
No. GIF format doesn’t support audio, and Twitter’s GIF transcode strips any embedded audio if the source had any (it usually doesn’t). For audio + animation, upload an MP4 video with sound — that supports audio playback when users tap the tweet.
How long should a Twitter GIF be?
3–6 seconds is the sweet spot for engagement. Reaction GIFs are typically 1–3 seconds; screen recordings or product demos work up to 6 seconds. Anything longer than 8 seconds, viewers swipe past before the loop completes.
Can I post a GIF as a reply or quote tweet?
Yes — same upload limits. The 5 MB / 15 MB caps apply to any GIF in any tweet regardless of whether it’s a top-level post, reply, quote tweet, or DM.
Can I edit a GIF after I tweet it?
No. Once a tweet is posted, the media is locked. Delete and re-tweet if you need to fix a GIF that uploaded poorly.
Try it now
Compress a GIF for Twitter/X with the xconvert GIF compressor — set Specific file size to 4.5 MB (mobile-safe) or 14 MB (desktop only), keep Auto Scale on, click Compress. For Discord-specific GIF compression (10 MB free / 50 MB Nitro Basic), see Compress GIF for Discord. For Slack animated emoji compression (128 KB cap), see Slack Animated Emoji.