Move Your Twitter (X) Archive Into Obsidian
Turn every post in your X archive into its own Markdown note with frontmatter, threads stitched together, ready to drop into an Obsidian vault.
Direct answer
Your X archive stores posts as JavaScript files, not notes. Upload the archive .zip to the X Archive to Markdown tool and pick One file per post. You get one Markdown file per post, with frontmatter for the id, date, link, likes, reposts and type. Your threads come out as one note each, in order. Unzip the result into your vault.
Open the X archive converterWhen to use this
- You want your old posts searchable next to your other notes.
- You want each thread as one note, not scattered replies.
- You'd rather not run a Python script to read the archive.
Steps
- Request your archive. As of September 2026, go to Settings and privacy, then Your account, then Your X data. Confirm with the code X sends you, then click Request data.
- When X says the archive is ready, download the .zip. Open the X Archive to Markdown tool and drop the zip in. Don't unzip it first.
- Pick One file per post. Leave replies and reposts off unless you want them.
- Turn on Copy images and videos into media/ if you want your pictures inside the vault. Leave it off to link to the images on X instead.
- Click Download Markdown zip and unzip it into your vault folder.
Example
data/tweets.js
window.YTD.tweets.part0 = [
{ "tweet": { "id_str": "1001", "full_text": "Notes & tools #obsidian https://t.co/aaa", ... } }
]posts/2024/2024-01-01-1001.md --- id: 1001 date: 2024-01-01T10:00:00.000Z url: https://x.com/you/status/1001 likes: 12 retweets: 1 type: post --- Notes & tools [#obsidian](https://x.com/hashtag/obsidian) https://example.com/notes
Common mistakes
- Unzipping the archive and opening it as a vault gives you .js files, not notes. The posts sit inside JSON behind a window.YTD prefix.
- Links in the raw archive are t.co short links. The tool swaps each one for the real address, so your notes show where each link goes.
- Media makes the zip big. Turn media on only if you want offline copies of your images.
- One file per post can mean hundreds or thousands of notes. Pick One file per month if you'd rather have a few long notes.
Tools for this job
FAQ
- Does the tool upload my archive?
- No. It reads the zip in your browser and builds the Markdown zip there. Nothing is sent to a server.
- How does it handle threads?
- A thread is a chain of your own replies to your own post. The tool follows that chain and writes it as one note, in the order you posted it, with type: thread in the frontmatter.
- What about posts longer than 280 characters?
- The archive cuts long posts short in tweets.js and keeps the full text in note-tweet.js. The tool matches the two and uses the full text.
- Can I get one note per month instead?
- Yes. Pick One file per month. You get YYYY/YYYY-MM.md files, with posts oldest first and a heading for each post.
Sources
Checked September 2026.
More X archive guides
Turn Your Old Tweets Into Blog Post Drafts
Pull every thread and long post out of your X archive as Markdown blog drafts with a title, date, slug and tags, ready for Astro, Hugo or Jekyll.
Export All Your Twitter Threads to Markdown
Get every thread you ever posted as Markdown in one go from your X archive, with threads stitched in order and t.co links expanded.
How to Download Your X (Twitter) Archive and What's Inside
How to request your X archive, what the zip holds (posts, long posts, likes, DMs, Grok chats), and what's missing: there is no bookmarks file.