Save any GIF from a post on X. They arrive as MP4, because that is what X actually stores.
Here is the thing nobody mentions when they tell you to right click and save: X does not host GIFs. It never really has. When you upload one, the platform transcodes it into a short MP4 with no audio track and plays it on a loop, because an MP4 of the same animation is often a tenth of the size of the original GIF file.
So when you download a GIF from X, what you get back is an MP4. That is not a limitation of this tool, it is what exists on the server. The good news is that MP4 is easier to work with: it plays in every browser, drops into any editor, and uploads cleanly to every other platform.
How to download Twitter/X GIFs
1
Open the post with the GIF
Tap the GIF so the post opens on its own. A link to the profile or to a quote post will not work, because the file lives on the original post.
2
Copy the link and paste it here
Use the share icon, then Copy link. Paste it into the box above. The GIF label in the corner of the player is added by the app, not baked into the file.
3
Save the MP4
Most of these files land between 200 KB and 2 MB, so the download is close to instant. Convert it to a real .gif afterwards only if something you are using genuinely requires that format.
Why MP4 rather than GIF
The GIF format dates from 1987 and it shows. It caps out at 256 colours per frame, has no real compression for video-like content, and produces files several times larger than a modern codec needs. A three second clip that is 4 MB as a GIF is often under 400 KB as an H.264 MP4 with better colour.
X, Instagram, Reddit and Discord all made the same call: accept GIF uploads, store MP4, play it silently on loop. That is why the download is silent and why it loops in your player. Nothing was stripped out, there was never an audio track to begin with.
When you actually need a real .gif file
Most places you would paste a GIF now accept MP4 and handle it better. The exceptions are worth knowing: some email clients, older forum software, certain chat tools and a few CMS editors still expect a .gif extension and will refuse anything else.
If you hit one of those, convert locally rather than hunting for a converter site. With ffmpeg it is one command: ffmpeg -i clip.mp4 -vf "fps=15,scale=480:-1:flags=lanczos,palettegen" palette.png followed by a second pass that uses that palette. The two-pass approach is the difference between a decent looking GIF and a muddy one, because a generated palette beats the default web-safe colours by a wide margin.
Expect the file to grow. A 400 KB MP4 becoming a 3 MB GIF is normal, and dropping the frame rate to 12 or 15 and the width to 480 is usually how you keep it manageable.
Quality expectations
GIF-style clips on X are encoded for small size, not fidelity. Most sit around 480p, with some at 720p when the source was sharp and short. Because they loop endlessly in the timeline, X compresses them harder than regular video, which is why fine detail and gradients can look blocky.
There is no higher quality version hidden behind a setting. What the player streams is what exists. If a specific clip matters to you at higher quality, the original is more likely to be found wherever it was first posted than on the repost you are looking at.
Twitter GIF Downloader questions
Because that is what X stores. Every GIF uploaded to the platform is converted to a silent, looping MP4 during processing, and the original GIF file is discarded. The downloader hands you the file that exists rather than converting it back, which would only make it bigger and worse looking.
Not from X directly, since no .gif file exists on their servers. Convert the MP4 locally with ffmpeg or any converter you trust. Use a two-pass palette approach for decent colour, and expect the file size to grow several times over compared to the MP4 you started with.
GIF-style posts on X are stored without an audio track at all. There is nothing muted or stripped, the file simply has no audio stream. If the post you are looking at has sound in the app, it is a normal video post rather than a GIF, and our main X downloader handles those.
Looping is a player behaviour rather than something stored in the file. Most video players will not loop by default, though browsers, messaging apps and social platforms usually do for short silent clips. You can set a loop flag when converting to a real GIF.
No. Protected accounts choose who sees their posts, and this tool only reads what is publicly visible. The request will fail rather than return a file. The same applies to posts from accounts that have blocked you or that have since been suspended.
Usually 480p, sometimes 720p for short clips from a sharp source. X encodes these aggressively because they autoplay and loop in a scrolling timeline, where bandwidth matters more than detail. No higher quality copy exists to fetch.
Saving a public clip for your own use is ordinary personal copying and generally fine. Reposting someone's original animation as your own, or using it commercially without permission, is a copyright question no matter how small the file is. Credit the source when you share.
One link at a time. Each post holds its own media, so open the specific post containing the clip you want and copy that link. Bulk grabbing an entire thread is not supported, partly because it is the behaviour that gets tools like this blocked at the source.