Twitter (X) Video Downloader
Paste a tweet URL and save the video or animated GIF as an MP4 file, in every resolution the platform serves. Works for twitter.com and x.com links alike.
Built for How Twitter Actually Serves Media
Tweet media has quirks that a generic downloader gets wrong. These are the ones DownSwift handles.
Every resolution on the tweet
Twitter stores several renditions of each video. DownSwift lists all of them so you can pick the highest, or a smaller one to save data.
GIFs become playable MP4
Twitter converts GIFs to MP4 internally. DownSwift hands you that MP4, which every chat app and editor can actually play.
twitter.com and x.com both work
The domain changed but the media did not. DownSwift accepts either host, plus the mobile mobile.twitter.com form.
Thread-aware links
A link copied from anywhere in a thread points at a specific tweet. DownSwift resolves that tweet's own media, not the thread's first post.
Audio-only when you want it
For videos where the audio is the point, DownSwift can return the audio stream without the video track.
No X account needed
No login, no API key, no app. Only tweets that are publicly visible can be resolved.
How to Download a Twitter Video in 3 Steps
Copy the tweet link
Tap the share icon on the tweet and choose Copy link to Tweet, or copy the address bar on desktop.
Paste it above
DownSwift reads the tweet ID from the URL and fetches whatever media that specific tweet carries.
Choose a resolution and save
Pick from the available renditions and download. The MP4 saves through your browser's normal download flow.
Frequently Asked Questions (FAQ)
You get an MP4. Twitter stopped storing animated GIFs as GIF files years ago — it converts them to MP4 on upload and plays them in a loop to fake the effect. The MP4 DownSwift returns is the file Twitter itself serves, and it plays everywhere.
Yes. twitter.com and x.com point at the same media, and both are accepted, along with the legacy mobile.twitter.com host.
No. DownSwift has no session and never asks for credentials, so only tweets visible to logged-out visitors can be resolved.
Twitter transcodes each uploaded video into multiple renditions and serves whichever fits the viewer's connection. DownSwift lists all of them, which is why you get a choice instead of a single file.
Yes. DownSwift resolves the specific tweet in the link you pasted, so if that tweet has media you will get it — even if it is halfway down a long thread.
Which tweet links work
https://x.com/username/status/1234567890123456789https://twitter.com/username/status/1234567890123456789https://mobile.twitter.com/username/status/1234567890123456789
Query strings such as ?s=20 or ?t=... are ignored. The tweet ID in the
path is the only part that matters.
The GIF situation, explained
People search for a "Twitter GIF downloader", but Twitter has not stored animated GIFs as
.gif files for years. When you upload a GIF, Twitter converts it to an MP4 and loops it
silently on playback so it looks like a GIF in the timeline.
That MP4 is the original file. DownSwift hands it to you unchanged. The practical difference: an
MP4 plays in every modern chat app, editor and browser, and it is usually a fraction of the size of
the equivalent GIF. If you specifically need a .gif file, you can convert the MP4
locally, but you would be converting backwards into a larger, lower-quality format.
Why a tweet gives you multiple files
Twitter transcodes each uploaded video into several renditions — commonly something around
320x180, 640x360 and 1280x720. Which one plays depends on the
viewer's connection and screen. DownSwift lists all of them rather than guessing, so you can take the
highest quality available or deliberately take the smaller file to save bandwidth.
What will not work
- Private or protected accounts — invisible without a session.
- Age-restricted tweets — require a logged-in, verified session.
- Deleted tweets — there is no cached copy on our side.
- Text-only tweets — nothing to download.
In each case DownSwift fails with an explicit message rather than hanging. If the tweet looks public to you but the download fails, it is usually a region block on our servers or a change in Twitter's internal API.