eroMark

How to export your X bookmarks

The official data archive does not contain them. Here is what does work.

There is no export button. More surprisingly, requesting your full X data archive does not get you your bookmarks either: they are not in it. Every working route is a third party, either a browser extension that reads the page you are already logged into, or a tool that talks to the API with your authorisation.

People discover the archive gap the slow way, which is the worst way: request the archive, wait for X to build it, download several hundred megabytes, unzip it, and find posts, likes, direct messages, ad data, and no bookmarks. It is worth knowing before you start waiting.

The routes that work

RouteWhat you getWhat it costs
Browser extension Usually CSV or JSON of your reachable bookmarks, sometimes Markdown or PDF. Runs against the session already open in your browser. Free, mostly. You are granting a third party read access to a logged-in X tab.
API-based tool Structured data, often with folder membership and richer post metadata. Usually paid. You authorise it against your account through X's own OAuth screen.
By hand Exactly what you copy. Free and slow. Realistic for tens of saves, not hundreds.
Official archive Not bookmarks. Posts, likes, DMs, and more. Free, and a waste of the wait if bookmarks were the goal.

Using a browser extension

This is what most people should do, and the shape is the same across all of them:

  1. Install the extension.
  2. Open your bookmarks page on x.com and stay on it.
  3. Scroll, or let the extension scroll, so the page loads as much of the collection as it will serve.
  4. Click export and pick a format.

Step three is the one that decides how complete your export is, and it is worth being explicit about why. An extension can only read what the page has loaded. It cannot reach past the same retrieval ceiling that stops you scrolling, which sits somewhere around 800 to 1,000 saves. So an extension export of a very large collection is an export of the reachable part of it.

If your collection is under a few hundred, this distinction will never affect you. If it is several thousand, no free tool is going to hand you all of them, and any that claims to is worth a second look.

Before you install anything

You are about to give a browser extension permission to read a page where you are logged in to your X account. That is a real grant, and the honest advice is the boring kind:

Which format to pick

When in doubt, take JSON and keep it. You can always flatten JSON into a spreadsheet later; you cannot recover structure a CSV has already thrown away.

What to do with the file once you have it

An export that sits in your downloads folder is not a backup, it is a file you will lose the next time you clear space. Three things worth doing in the ten minutes after you make one:

Common problems and what causes them

What you seeWhy
Export is much smaller than your collection The page never loaded the older saves. Scroll further before exporting, and accept that there is a floor you cannot get under.
Extension button does nothing Usually an X front-end change the extension has not caught up with. Check when it was last updated.
Rows with empty text The post was deleted or the account went private after you saved it. The link survives, the content does not.
Garbled characters in a spreadsheet A CSV encoding mismatch. Import as UTF-8 rather than double-clicking the file.

What an export will not contain

A bookmark points at a post. It is not a copy of one. So an export gives you links and whatever metadata the tool captured at the time, and that means:

If a specific saved post genuinely matters to you, the durable version is a copy of the text, not a link to it.

The part worth saying out loud

Most people who go looking for an export are not actually trying to move platforms. They are trying to feel less bad about a pile that has become unmanageable, and an export feels like doing something about it.

It is worth being clear that it is not. A CSV of 1,400 links is the same 1,400 unread things in a different file format, and in practice it gets opened once. If the reason you want them out is that you are never going to read them where they are, the export is a step, not the fix.

Related