X GIF downloader
Paste the link to a post containing a GIF and download it straight away. The file arrives as a silent looping MP4, which is exactly what X stores behind the GIF label.
GIF posts have no audio track, that is normal, not a fault with the download.
Download a GIF from X and you receive an MP4. That looks like a bug and is not. It is the single most useful thing to understand about animated media on this platform, and it explains the missing audio track, the small file size, and why converting back is a downgrade.
When you post a GIF, it stops being a GIF at the moment of upload. The platform transcodes it into a short H.264 video with no audio track, sets it to loop automatically, and hides the playback controls. The interface still calls it a GIF. The file underneath is a video.
The same applies to GIFs chosen from the built-in picker. Those were converted long before you selected one; the picker is showing you video files with GIF labels.
So when you download, there is no .gif to retrieve. It was discarded at upload, often years ago. Any tool claiming to give you the original GIF is either converting the MP4 on the fly or mislabelling the file.
The reason is size, and the margin is large enough that no platform serving animation at scale makes a different choice.
The GIF format dates from 1987. Two properties make it inefficient for anything resembling video:
256 colours per frame. GIF uses an indexed palette. Every frame is limited to 256 distinct colours drawn from a lookup table. Photographic content and smooth gradients have to be approximated by dithering, which is why GIFs of real-world footage look speckled and banded.
No motion prediction. Modern video codecs encode most frames as the difference from neighbouring frames, storing only what changed. GIF compresses each frame independently with LZW, a general-purpose algorithm with no understanding of motion. A three-second clip stores three seconds of complete images.
The practical result: a three-second animation can easily reach 5 MB as a GIF. The same animation as H.264 is frequently under 300 KB. That is not a marginal saving, it is roughly a twentieth of the bandwidth, with better colour and smoother motion.
| Property | GIF format | What X stores |
|---|---|---|
| Colours | 256 per frame, indexed | Full 24-bit colour |
| Typical size, 3 seconds | 3-5 MB | Often under 300 KB |
| Compression | Per frame, no motion prediction | Predicts change between frames |
| Audio | Not supported by the format | Track removed to match |
| Hardware decoding | No, costs CPU and battery | Yes, on virtually every device |
| Frame rate | Practically capped by size | Matches the source |
The file is an MP4 with H.264 video, no audio stream, and a duration usually between one and ten seconds. It has the same resolution options as any other post, though animated posts typically carry fewer rungs because the source is short and small to begin with.
Three things follow from the missing audio track:
Three signals, any one of which is reliable:
If a post shows playback controls and a duration, it is an ordinary video, even if the content is animated.
This is usually the right answer. Messaging apps, Discord, Slack and most forums play short MP4 clips inline and loop them automatically. The viewer sees the same thing they would from a GIF, at a fraction of the size and with better colour.
Posting the MP4 back gives you the same silent looping playback you started with, because that is the format the platform wanted in the first place. There is no need to convert to GIF before uploading; doing so just forces the platform to convert it back.
H.264 MP4 imports directly into every editor. No conversion pass, no proxy generation. If you need it as an overlay or insert, it is already in the right format.
Covered below, with the trade-offs stated plainly.
It is possible with any video-to-GIF converter, and it is always a downgrade. Worth doing only when a specific system will not accept anything else.
What you lose:
Cases where it is still the right call:
.gif.If you do convert, keeping the clip short and the dimensions modest does more for the output than any encoder setting. A 480-wide, two-second GIF at 15 frames per second is usually acceptable. The same clip at 720-wide and 30 frames per second rarely is.
The same platform limits apply to animated posts as to any other. A GIF in a protected account, in a direct message, in a deleted post or behind an age restriction is unreachable by any external tool, because the platform does not serve that data publicly.
One case is specific to animated media: GIFs sent through direct messages are extremely common, and they are exactly as unreachable as any other DM attachment. To save one, use the save option inside the app itself, which has the authenticated session that an external tool does not.
Animated posts are reposted more often than ordinary video, which makes the retweet problem more common here than elsewhere.
When someone reposts a GIF there are two posts: the original holding the media, and the repost pointing at it. Copying from the repost gives you a post with no media of its own, and the tool will correctly report that it contains nothing to download.
Tap through to the original, the post showing the original author's handle directly above the animation, and copy from there. The link-copying guide covers this and the other link cases in detail.
Two properties of the source carry through to what you download.
Frame rate is preserved from the upload. If the original animation ran at 12 frames per second, the MP4 runs at 12 frames per second. The platform does not interpolate to a higher rate.
Duration is capped on upload, and animated posts are usually short by convention rather than by limit. A long animation posted as a GIF is transcoded like any other video and behaves like one.
For the container and codec background, see the MP4 page. The formats and codecs guide covers progressive versus streaming delivery and why live video behaves differently. If a post will not resolve at all, the troubleshooting guide works through every cause.
Questions
Because on X it genuinely is an MP4. The platform converts every uploaded GIF into a silent looping video at upload time and discards the original GIF. There is no .gif file left on the servers to retrieve.
You can, with any video-to-GIF converter, but it is always a downgrade. The GIF format is limited to 256 colours and compresses each frame independently, so the result is a larger file that looks worse. Only do it when a platform specifically demands the .gif extension.
GIF posts have no audio track at all. When X converts an uploaded GIF to video it discards sound entirely, because the GIF format never supported audio in the first place.
X shows a small GIF badge in the corner of the media, and the clip loops automatically without playback controls. The downloader also labels it as an animated GIF in the results.
That depends on your player rather than the file. Most players loop short clips automatically, and the looping behaviour is restored if you re-upload it somewhere that treats it as a GIF.
No. Protected accounts are only visible to approved followers and X enforces that server-side, so no external tool can read them regardless of the media type.
Related pages
The full downloader for ordinary video posts, with every resolution listed and the highest selected by default.
FormatWhy every download is already an MP4, what the container and codec do, and when converting is actually worthwhile.
GuideContainer versus codec, progressive files versus streaming, and why live broadcasts behave differently from ordinary posts.
Legacy nameThe same tool described using Twitter terminology, for anyone who has not switched vocabulary yet.
iPhoneWhere Safari places downloads, and the extra step needed to move a saved clip into your camera roll.
TroubleshootingEvery reason a post will not resolve, from deleted media to blocked requests, with the fix for each one.