On this page
X’s built-in video download feature is limited to certain Premium posts. The method you choose also depends on whether you want to save your own videos, one public clip, or several posts. This guide covers X’s own features, Cobalt and yt-dlp, along with the relevant terms and restrictions.

The quick answer
- One clip: paste the post link into Cobalt. No account or install; the link goes to Cobalt’s server and an MP4 comes back.
- Many clips, or age-gated posts: yt-dlp. It takes
x.comandtwitter.comlinks and can use your browser’s saved login. - Your own videos: request an archive of your data in X’s settings. No third-party tool needed.
The ad-heavy “twitter video downloader” sites do the same fetch as Cobalt, with more clicks and more risk. We have matching guides for Instagram and TikTok.
Why X videos are hard to save
X has never had a download button for the general public. Since July 2023, only Premium subscribers get one, and only for other Premium subscribers’ uploads. Posts marked sensitive and protected accounts are served only to logged-in viewers, so anonymous tools fail on them.
X also transcodes every upload, usually topping out at 1080p for recent videos, so “original quality” means the best of X’s renditions.
Official options and terms
What X itself offers:
- Premium-to-Premium download: any paid Premium tier can download videos that other Premium subscribers uploaded after July 2023, in the mobile app via the video’s ⋯ menu → Download video. Creators can turn it off per post (PhoneArena’s report).
- Your own media: Settings → Your account → Download an archive of your data. X emails you when it is ready, with your posts and uploaded media inside.
- Bookmarks: a pointer, not a file. It stops working if the post is deleted or the account goes protected.
Since September 2023, X’s Terms prohibit crawling or scraping the service in any form without prior written consent (TechCrunch). A downloader working outside X’s own feature can therefore breach the Terms even when no copyright is infringed; the usual result is a limited or suspended account. Save only your own posts, content whose owner permits it, or Creative Commons material. We are not lawyers.
The Terms and copyright in detail
Two separate rulebooks apply. This is a plain-language summary, not legal advice.
- X’s Terms. Besides the scraping ban, they limit you to the interfaces X provides. How to enforce them is X’s decision.
- Copyright. The person who filmed a video owns it unless they signed the rights away. Private copies are treated differently from country to country, but re-uploading, editing it into your own content or using it commercially without permission is infringement almost everywhere.
- When in doubt. Ask first, or embed the post instead of copying it.
Tools and their limitations

| Tool | Type | Best for | Watch out for | Price |
|---|---|---|---|---|
| yt-dlp | Command line | Frequent or bulk downloads, age-gated posts, Spaces | Terminal only; cookies needed for restricted posts | Free |
| Cobalt | Online, open source | One-off clips from public posts | Public posts only; the link goes to Cobalt’s server | Free |
| X Premium download | Built into the X app | Videos other Premium members uploaded | Mobile app only; creators can turn it off | Included with X Premium |
| Clipmoth (our product) | Windows app | X, TikTok, Instagram, YouTube with buttons | Windows only | Free 10/day · $9.99 one-time |
| “Twitter video downloader” sites | Online | Same fetch as Cobalt | Pop-ups, fake buttons, redirects; antivirus warnings reported | “Free” |
Here is how yt-dlp and our Windows app differ in setup and everyday use.
| yt-dlp (command line) | Clipmoth for Windows | |
|---|---|---|
| Cost | Free, unlimited | Free 10/day · $9.99 one-time |
| Setup | The binary plus a separate ffmpeg install on your PATH for HD | One installer, ffmpeg included |
| Use | Type commands and options (-f, --merge-output-format …) | Paste the URL, pick a quality. Download queue; MP3 is one switch |
| Updates | Run yt-dlp -U yourself | The engine updates itself |
| When it fails | Read the English error output | The reason is shown in plain words (unsupported, login needed, region-locked …) |
| Best for | Fine-grained options, scripts, cookies and proxies; Mac and Linux | Windows users who want to click, not type |
- Online: Cobalt is open source, ad-free and needs no account, while the other “twitter video downloader” sites wrap the same fetch in pop-ups and fake buttons, and antivirus warnings about some have been reported.
- Command line: yt-dlp is the standard, maintained by a large community and usually updated within days when X changes its player.
- Desktop apps: Clipmoth is our own product; weigh that as you read. Its Windows app lets you paste a URL and choose the download quality, but it cannot get past DRM, logins, age gates or regional blocks.
- Browser extensions: they read x.com inside your logged-in session, so check the permissions and publisher; we have not tested the X-specific ones and name none.
Install yt-dlp from the official instructions. For an age-gated post, or a protected account you follow, let it use your browser’s saved login:
yt-dlp --cookies-from-browser firefox "https://x.com/user/status/123456789"To archive many posts from one account, list one post URL per line in links.txt; as of October 2026, yt-dlp has no X profile extractor.
yt-dlp -a links.txt --download-archive done.txt -o "%(uploader_id)s/%(upload_date)s-%(id)s.%(ext)s"--download-archive skips finished posts when you re-run the command. On iPhone, Cobalt’s file lands in Files → Downloads; tap Share → Save Video to move it to Photos.
When it doesn’t work
- Age-restricted post: X hides sensitive media from logged-out viewers. Cobalt fails; yt-dlp works with
--cookies-from-browser. - Protected account: if you follow it, yt-dlp with cookies works. If not, nothing does.
- Quote post or several videos: copy the link of the quoted post itself. For up to four videos in one post, use Cobalt’s picker or let yt-dlp save each one.
- GIF saved as a silent MP4: that is correct. X converts GIFs to MP4 without audio on upload.
- Rate limit, or an error on a public post: wait a few minutes, add cookies, and run
yt-dlp -U. X changes often, and most failures are fixed in the latest release.
Frequently asked questions
What is the highest quality I can get from an X video?
The best rendition X serves; no tool can recover the poster’s original file. Run yt-dlp -F on a link to list every size X offers for that post.
How do I turn an X GIF into a real .gif?
Convert the MP4 with ffmpeg -i clip.mp4 out.gif. The MP4 is far smaller and plays everywhere, so keep it unless you need the GIF format.
Can I download a Twitter Space?
yt-dlp has a Spaces extractor that saves the audio, as long as the host kept the replay available. Spaces that were never recorded cannot be saved afterward.
Can I save a video from a deleted post?
No. Once a post is deleted or the account is suspended, the video is gone from X’s servers; reposts and mirrors are separate copies.
X, YouTube and 1,000+ sites, without a terminal
Clipmoth is our own downloader. The Windows app supports YouTube, TikTok, X, Instagram and over 1,000 sites, with options for 4K video, playlists and MP3.
The Chrome extension saves video playing on websites such as news sites and online courses, including HLS and DASH streams. It does not support YouTube.
Both offer 10 free downloads a day. Premium removes the limit in both for a one-time payment of $9.99, with a 14-day refund policy.
Get the Windows app Add to Chrome (for video on regular websites)