Of the three big exports I've spent time inside — Instagram's, TikTok's, and X's — X's is the strangest, and in one important way the best.
It's the only one that actually gives you your pictures.
Requesting it
On the web: Settings → Your account → Download an archive of your data. You'll have to re-enter your password and confirm a code, which is reasonable given what's in it.
Then you wait about 24 hours. X is fairly consistent about this — not the "few minutes to four days" lottery you get with TikTok. You'll get a notification and an email when it's ready, and the download link sits in the same settings page.
The file is often large. Mine was a couple of gigabytes, and almost all of that was video I'd posted years ago and completely forgotten about.
What you get — the good half
Unzip it and there's an index.html you can open in a browser. It's a little offline viewer of your own account, and it's genuinely nice: your timeline, searchable, working, with no algorithm in it.
Underneath that, the real structure:

Your own tweets are in data/tweets.js. And crucially, the media you posted is right there in data/tweets_media/ as real image and video files, named after the tweet they belong to.
This is the thing Instagram and TikTok don't do. If all you want is a backup of what you posted, the X archive is basically done the moment you unzip it. Copy the media folder somewhere safe and walk away.
Credit where it's due — that's how a data export ought to work.
What you get — the annoying half
Now open data/like.js.
Every tweet you've ever liked is in there. What's stored for each one is a tweet ID, and the text. That's it.
No image. No video. Not even a link to the image. A tweet ID and some words.
So if you liked a photo in 2019 — a chart, a piece of art, a screenshot of something someone said — the archive records that you liked a tweet with this ID that said this. The picture itself is not in your archive and never was.
That's a strange asymmetry, and it catches people out. The half of your archive that feels most like a personal library — the stuff you deliberately saved because you wanted it — is the half that comes back as receipts.
Getting the liked media back
To turn those IDs into actual images, something has to go and look each tweet up again and fetch the media from X's public media servers — the same ones that serve the image when a tweet is embedded in a news article.
That's one of the things UnplugMe does. You drop the archive ZIP in, and it handles both halves: your own media gets copied straight out of the ZIP, and your liked tweets get looked up so the photos and videos land on your hard drive too.
The first 50 downloads are free with no account, so you can check it does what I say before deciding anything.
Try it with your archive → · Full X export walkthrough →
Things that will trip you up
Deleted tweets are gone. If someone deleted the tweet you liked, or their account is gone or now protected, there's nothing to look up. Nobody can retrieve what X no longer serves. The older the like, the likelier this is.
Likes are capped in the archive. X doesn't always give you the complete history of every like from the beginning of time, especially on very old, very active accounts. What you get is what they give you.
Bookmarks are not likes. They're a separate thing, and X has historically been inconsistent about whether they show up in the archive at all. Check data/ for a bookmarks file — if it's not there, it's not there, and no tool can conjure it.
The .js files aren't JSON, quite. Each one starts with something like window.YTD.tweets.part0 = and then the actual data. It trips up anything expecting a clean JSON file. Only matters if you're writing your own script — but if you are, that's the hour you're about to lose, so there it is.
The short version
X gives you your own media properly, which is more than Instagram or TikTok do. Unzip it and that part is finished.
Your likes come back as a list of ID numbers. Those need looking up before they turn back into pictures — and the ones that have been deleted in the meantime aren't coming back at all.
Which is the usual argument for doing this sooner rather than later.
UnplugMe is a personal data portability tool. It works with the official X data archive and only downloads media from tweets you already liked or posted yourself. It is not affiliated with X Corp.