ytdlp.online

Twitter / X Video Downloader yt-dlp

Save tweet videos at the bitrate X actually stores, turn "GIFs" back into real GIFs, and rip Space replays to MP3. True bitrate. Real GIFs. No login.

Use this service only for content that you own or are authorized to access and process. By submitting, you agree to the Terms of Service.

Accepts: x.com/…/status/… · twitter.com/…/status/… · x.com/i/spaces/… · t.co/…

🖤 Like this Twitter / X downloader? Share it with your friends! 🤍

The bitrate you were promised

X encodes each resolution at several bitrates and the player picks one silently. We show the real Mbps on every quality button and always fetch the top rung.

Twitter GIFs, made real again

X converts every GIF into a silent MP4 on upload. We detect GIF tweets and give you the choice: the tiny MP4 loop, or a genuine .gif file restored by ffmpeg.

Space replays to MP3

Paste an x.com/i/spaces/… link of an ended Space and we turn the replay into an MP3 — the recording X shows behind the "Play recording" button.

Multi-video tweets, unpacked

One tweet can carry up to four videos or GIFs. Each shows up with its own thumbnail — download one, a few, or all of them as separate files.

How to download Twitter / X videos in 3 steps

  1. Copy the link: On any tweet, tap Share → Copy link. Links look like x.com/user/status/1234567890… — old twitter.com links and t.co short links work too.
  2. Analyze and choose: Paste it above. A video tweet shows its quality ladder with real bitrates; a GIF tweet offers MP4 or real .GIF; a multi-video tweet unpacks into a picker; a Space link shows its replay.
  3. Download server-side: Our servers fetch the top rendition from X's CDN and hand you the file — no app, no login, no screen recording.

The hidden bitrate ladder: why "720p" is not one file on X

When a video is uploaded to X, it is re-encoded into a ladder of renditions — but unlike most platforms, X ladders by bitrate as much as by resolution. A typical tweet video exists at roughly 0.3, 0.8 and 2.2 Mbps, sometimes with two different bitrates at the same frame size. The player starts on a low rung and switches silently; on a phone screen you rarely notice, until you save the file and watch it on anything bigger.

That is why videos saved with screen recorders or player-scraping tools so often look soft: they inherit whatever rung the player happened to be streaming. The best file X stores for the tweet was never touched.

yt-dlp reads the whole ladder — every progressive MP4 variant plus the HLS renditions — and requests exactly the rung you ask for. This page shows the real bitrate next to each quality button and builds a selector that takes the best file at or below your chosen height:

-f "b[height<=720]/bv*[height<=720]+ba/b" --merge-output-format mp4

The result is the highest-bitrate MP4 X keeps for that resolution — not a re-compressed copy, not a screen capture, and never the data-saver rung.

Twitter GIFs are not GIFs — here is how to get a real one

Every GIF posted to X is converted into a silent, looping MP4 the moment it is uploaded — the original .gif file is discarded. That is a sensible bandwidth decision (MP4 is roughly 10× smaller), but it means "Save GIF" tools that hand you an .mp4 file are not being lazy: the GIF genuinely no longer exists on X's servers.

This page detects GIF tweets automatically — they are stored differently from videos (a single MP4 variant, no streaming ladder, no duration) — and gives you both endings to that story:

You pick We run You get
MP4 yt-dlp URL The exact silent loop X stores — smallest file, best quality
.GIF --recode-video gif A real .gif rebuilt by ffmpeg — drop it into any chat, doc or README

If you just want to rewatch it, take the MP4. If you need a file that behaves like a GIF — auto-plays and loops in places that do not render video — take the .GIF conversion and accept the larger size. Either way you are working from X's original file, not a screen capture of it.

Downloading Twitter Space replays as MP3

X keeps a recording of a Space only when the host enables it — that is the replay you can play from the original tweet after the Space ends. X offers no download button for it, ever. This page accepts x.com/i/spaces/… links directly: paste one and we fetch the replay stream and convert it to a normal MP3 file (video Spaces are saved as MP4 instead).

The honest limits, stated up front: a Space that is still live cannot be captured here — recording ongoing audio is a different job (our Live Stream Recorder handles live broadcasts). A Space whose host disabled the recording has no replay to fetch, and no tool can conjure one. If the Space page shows a "Play recording" button, this page can turn it into an MP3.

Which Twitter / X links work — and which can't

yt-dlp Twitter / X Download CLI Commands

Prefer the terminal? These are the exact commands this page builds for you:

1. Download a tweet video at the highest stored bitrate

Takes the best rendition from X's bitrate ladder and delivers one MP4.

yt-dlp -f "b/bv*+ba" --merge-output-format mp4 "https://x.com/user/status/1234567890"

2. Turn a Twitter GIF back into a real .gif file

Fetches the silent MP4 loop and has ffmpeg rebuild it as an actual GIF.

yt-dlp --recode-video gif "https://x.com/user/status/1234567890"

3. Pick specific videos out of a multi-video tweet

A multi-video tweet expands into numbered entries — the same numbers this page shows.

yt-dlp --playlist-items 1,3 "https://x.com/user/status/1234567890"

4. Save a Space replay as MP3

Works for ended Spaces whose host kept the recording.

yt-dlp -x --audio-format mp3 "https://x.com/i/spaces/1AbCdEfGhIjKl"

Frequently Asked Questions

How do I download a Twitter / X video in HD?

Paste the tweet link from Share → Copy link. X stores every video as a bitrate ladder — the same clip encoded at several bitrates per resolution. Our yt-dlp backend reads that ladder and requests the highest-bitrate rendition of the resolution you pick, so you get the best file X keeps, not the data-saver rung the player was streaming.

How do I save a Twitter GIF — and why is it an MP4?

What X calls a "GIF" is actually a silent, looping MP4 — the GIF you uploaded was converted on arrival. This page detects GIF tweets automatically and gives you both options: keep the tiny silent MP4, or have our server convert it back into a real .gif file you can drop into chats and docs anywhere.

Can I download all videos from a tweet with multiple videos?

Yes. A single tweet can carry up to four videos or GIFs. Paste the tweet link and each one appears with its own thumbnail — tick the ones you want (or keep them all selected) and each is saved as its own file.

Can I download a Twitter Space?

Yes, if it has ended and the host kept the recording — the same replays that show a "Play recording" button on X. Paste the x.com/i/spaces/… link and we convert the replay to MP3 (video Spaces are saved as MP4). Live and upcoming Spaces cannot be captured; come back after they end.

Why does my saved video look blurrier than in the app?

X encodes each resolution at several bitrates and the player silently picks a rung based on your connection — you might be "watching 720p" at a third of the bitrate the 720p file can have. Tools that grab the currently-streaming file inherit that choice. This page shows the actual Mbps next to every quality button and always fetches the top rung.

Why can't I download NSFW or age-restricted tweets?

X hides sensitive media from anonymous access — it requires a logged-in session, and this tool deliberately runs without one: no account, no cookies. Public tweets download normally. We tell you this up front instead of failing with a cryptic error.

Is it legal to download Twitter / X videos?

Download only what you have the right to keep — your own posts, content you have permission to reuse, or material for fair-use commentary. Downloading does not transfer ownership; credit the creator when you repost. Respect the X Terms of Service.

yt-dlp Tools
View all yt-dlp tools
yt-dlp Help & Docs