VidKeep

How-to

Downloading Videos from X

Portrait of Daniel Okafor, VidKeep engineer
Daniel OkaforVideo-tools engineer, VidKeep
· Published 2026-08-01 · Updated 2026-08-01 · 6 min read
Download options listing qualities with their file sizes

It works, and the files are small. We tested real posts against the live service: a 44-second video returned 720p at 11.6 MB, 360p at 4.4 MB and 240p at 1.5 MB, all free and all with sound. Both x.com and twitter.com links work. Protected accounts and anything requiring a login do not.

What you actually get

Measured from two real posts rather than estimated:

Post720p360p240p
44 seconds11.6 MB4.4 MB1.5 MB
68 seconds17.9 MB6.8 MB2.4 MB

Three qualities, topping out at 720p. That ceiling is the platform's: X encodes video for a feed viewed on phones, and it does not keep 1080p versions of ordinary posts the way a video platform would.

The sizes are correspondingly modest — roughly a quarter of a megabyte per second at the top quality. Storage is almost never the constraint here, which makes X unusual among the platforms covered on this blog.

Download options listing qualities with their file sizes
Three qualities with real sizes — small enough that the choice rarely matters.
ShapeWorks?
x.com/<user>/status/<id>Yes
twitter.com/<user>/status/<id>Yes — the old domain still resolves
x.com/i/status/<id>Yes
x.com/<user>No — a profile, not a post

The identifier is the long number at the end, and it is the only part that matters. Anything after a question mark is tracking and gets ignored, so there is no need to clean links by hand.

The most common failure is the last row: a profile address copied while a video was on screen. Open the individual post first — the same trap as everywhere.

Why the quality tops out where it does

X is a text platform that carries video, not a video platform, and its encoding reflects that.

Video in a feed is watched briefly, on a phone, often muted, while scrolling. Encoding for that use means keeping files small and playback instant rather than preserving detail for a large screen. So 720p is the ceiling for ordinary posts, and the bitrate below it is modest.

The practical consequence is that a clip which originated elsewhere and was reposted to X is a generation further from its source and capped lower. If the same video exists on YouTube or the creator's own account, that copy is better — reposts always cost a generation.

For clips native to X — a news moment, a reply, something recorded in the app — 720p is what exists and no tool produces more.

Animated GIFs are not GIFs

A quirk specific to this platform and worth knowing before you are confused by it.

What X displays as a looping animated GIF is stored as a silent MP4. The platform converts uploaded GIFs on arrival, because MP4 is dramatically smaller for the same animation — the size difference is measured here.

So downloading one gives you an MP4 with no audio track, not a GIF file. That is the actual content rather than a conversion on our side, and it plays everywhere.

If you specifically need a GIF file — for a forum or an email signature that will not accept video — the conversion is a separate step, and it will produce a considerably larger file than the MP4 you started with.

What stays out of reach

The test for all of these takes ten seconds: open the link in a private browser window. If the video does not play for a logged-out visitor, nothing external will reach it.

If it fails

Failures on X have a short list of causes, and the message distinguishes them.

The post has no video. Common when a link was copied from a thread — the video may be in a different post than the one you addressed.

It is a quote or a reply. The video belongs to the quoted post rather than the one you linked. Open the original and copy from there.

The account is protected or the post is gone. Both final, and both identifiable in a logged-out browser window.

Rate limiting. Several links failing together after a run of downloads is not the links — the throttling logic applies across platforms.

Everything above came from testing real posts on the live service, and the awkward part of writing this article was not the downloading — it was obtaining links to test with.

Our first attempts used tweet identifiers pulled from video URLs on the platform's own media servers. They failed with ‘no video could be found in this tweet’, which looked like a platform problem and was not: those numbers identify the media, not the post containing it. Two different identifier spaces that look identical, and we spent a while concluding the wrong thing before noticing.

The second obstacle was rate limiting on the platform's own public endpoints. Our first request for a list of posts returned a refusal, and so did the retry a few minutes later. That is the same throttling this blog describes from the user's side, met from ours — a useful reminder that the behaviour we write about is not something that only happens to other people.

Once real links were in hand, the downloads worked immediately and repeatedly. Two posts, three qualities each, sizes and durations as reported in the table. No fallback route was needed and nothing about X required special handling on our side.

The reason for this detour is that we do not publish how-to guides for platforms we have not confirmed. Almost every downloader is built on the same open-source library, which lists hundreds of platforms — so claiming support costs nothing and means little. In the same round of testing, Vimeo returned an authorisation failure, Reddit refused with a 403, and Bilibili blocked the request outright, all through that same library. Support in code is not access from a server, and the only way to tell them apart is to try.

The measurements here therefore carry a date. They were taken from one server on one day, and platform policy changes without notice. If X stops working for you later, this page will be out of date rather than wrong — a distinction worth stating plainly rather than pretending a measurement is permanent.

Frequently asked questions

Can I download videos from X?

Yes. A public post returns up to three qualities topping out at 720p, with sound. Both x.com and twitter.com links work.

Why is there no 1080p?

X encodes video for a phone feed rather than as a video platform, so 720p is the ceiling for ordinary posts. No tool produces a version that does not exist.

How large are the files?

Small. In our tests a 44-second video was 11.6 MB at 720p and 1.5 MB at 240p.

Can I download from a protected account?

No. A downloader arrives signed out, so anything requiring approval is unreachable.

Why did my link fail when the post clearly has a video?

Often the video belongs to a quoted or replied-to post rather than the one you linked. Open the original and copy from there.

Can I get an animated GIF as a GIF file?

No. X stores them as silent MP4s, so that is what downloads. Converting to an actual GIF is a separate step and produces a much larger file.

Try it yourself

VidKeep runs in your browser — paste a link, pick a quality, keep the file. No account, no app.

Open VidKeep

Last updated: 2026-08-01. We revise our guides as the platforms change.