How to save tweets to Notion and Obsidian (as clean Markdown)
Save tweets to Notion or Obsidian as clean Markdown that survives deletion. The fast paste-and-go method, full threads, citations, and how to stop your saved tweets from rotting.

You found the tweet that explains the whole thing. A tight thread, a perfect
one-liner, the source you'll cite later. So you drop it into your notes, and it
arrives as a dead URL or a wall of mangled text with pic.twitter.com links and
no author. Six months later the account is gone, and so is your note.
The fix is to save the tweet as clean Markdown the moment you find it, with the author, the date, the full text, and the media all captured as words your notes app can actually render and search. Here's the fastest way to do it in Notion and Obsidian, how to handle threads and citations, and how to make sure the save still means something after the original disappears.
The quick answer: paste the URL into a converter, not your notes
If you just want it done right now:
- Copy the tweet's link (the Share → Copy link option on the post).
- Paste it into Stashr's free Tweet to Markdown converter.
- Copy the Markdown it gives you, with attribution, the date, media links, and any quoted tweet already formatted as a blockquote.
- Paste that into your Notion page or Obsidian note.
That's the whole trick. You end up with the tweet's actual words living in your vault, not a link that depends on X staying up and the account staying public. No API key, no signup, and it runs in your browser.
Why pasting a tweet URL into your notes fails
Both Notion and Obsidian will happily accept a raw tweet link, but neither actually saves the tweet:
- Notion turns the URL into a bookmark card or a live embed. Both fetch the tweet from X every time the page loads. Delete the tweet, lock the account, or let X change its embed rules, and the card goes blank. The text was never in your workspace.
- Obsidian stores the URL as plain text or, with a plugin, an iframe embed that needs an internet connection and the tweet still being live to render. A local-first vault is supposed to work offline forever. A tweet embed quietly breaks that promise.
The deeper problem is that a saved link is a pointer, not a copy. When the original moves or vanishes, the pointer dangles. That's the same link rot that turns old bookmarks into 404s, and tweets rot faster than most things on the web: accounts get suspended, posts get deleted in a huff, and whole timelines go private overnight.
Markdown is the durable format
Markdown is just text. It renders in Notion, Obsidian, Logseq, Bear, and any editor you'll ever switch to, it shows up in full-text search, and it survives offline. Converting a tweet to Markdown is how you make the content yours instead of borrowing it from X.
Saving a single tweet to Markdown
Run the tweet URL through the Tweet to Markdown converter and you get a clean blockquote you can drop straight into a note:
> The best note-taking system is the one you'll actually open tomorrow.
>
> Jane Dev (@janedev), June 14, 2026The converter pulls the body text, the author's name and handle, the post date, and links to any images or video. Quoted tweets come through as a nested blockquote, so a "this, but read the one it's replying to" save keeps both halves.
If you'd rather have the raw text without the quote formatting (for an essay, a citation, or a clip you're rewriting), use the Tweet to plain text and quote extractor instead. It also generates MLA, APA, and Chicago citations, which is the difference between "some tweet I saw" and a source you can actually footnote.
Saving to Notion
Notion reads Markdown on paste. Paste the converted blockquote into a page and it
becomes a native Notion quote block, with the link to the original kept inline.
Add it to a database with a Source, Topic, and Saved on property and your
tweets become a real, filterable table instead of a graveyard of embed cards.
Saving to Obsidian
Obsidian is Markdown, so the converted text drops in with zero translation.
Append it to a daily note, a Tweets.md file, or a per-topic note, and add a few
#tags or [[wikilinks]] so it surfaces in search and graph view later. Because
it's now plain text in your vault, it works offline and will still open in
whatever app you migrate to in five years.
Working with Reddit too?
The same paste-a-URL trick works for Reddit. The Reddit post to Markdown tool pulls the post body, top comments, and attribution into the same clean format, so your Notion and Obsidian notes can hold saves from both platforms in one consistent shape.
Saving an entire thread
Single tweets are easy. Threads are where most methods fall apart, because each post is a separate URL and the "show this thread" view is stitched together by X at read time. If you save only the first tweet, you lose the argument; if you screenshot the thread, you lose the text and the links.
For a thread you want to keep, you have two good options:
- Convert the key tweets individually and stack the blockquotes in one note. Tedious for a 30-post thread, fine for the three tweets that actually mattered.
- Capture the whole thread at save time with a tool that copies every post in order, so the full thread lands in one place as text, in sequence, without you babysitting it. That's what a capture-first library does (more below).
Screenshots aren't archives
A screenshot of a tweet looks like a save, but the text isn't searchable, the links are dead pixels, and you can't quote it without retyping. If you want a clean image to share, use the Tweet screenshot generator, but keep the Markdown version as your real archive.
Which method should you use?
| Method | Saves the text | Works offline | Survives deletion | Searchable |
|---|---|---|---|---|
| Paste tweet URL (embed/bookmark) | No | No | No | No |
| Screenshot the tweet | No | Yes | Yes | No |
| Tweet to Markdown, then paste | Yes | Yes | Yes | Yes |
| Capture-first library (auto) | Yes | Yes | Yes | Yes |
Converting to Markdown by hand is the right call when you save a few tweets a week and you live in your notes app anyway. The catch is that it's manual: you have to remember to do it, for every tweet, before the original disappears. Miss one, and the save you didn't convert is the one that rots.
Making saves that don't depend on you remembering
The honest limitation of the manual method is the human in the loop. You see a great tweet, you mean to convert and file it, and then you don't. The tweet you needed is always the one you bookmarked in a hurry and never came back to.
A capture-first library closes that gap. The moment you bookmark something on X, Stashr copies the full post, including threads, into your own searchable archive: the text, the author, the media, all kept as your copy rather than a link back to X. It auto-tags each save so you can find it by what it was actually about, and you can search everything in plain English instead of trying to remember which note you pasted it into. When the original tweet gets deleted, your copy is still there.
You can still pull anything out as Markdown for Notion or Obsidian when you want it in your notes. The difference is that the save itself no longer depends on the tweet staying live, or on you converting it in time. For more on why every platform makes this so hard, see where your saved posts actually go and the full X (Twitter) bookmarks guide.
Keep every tweet, not just the link
Stashr copies the full post the moment you save it, auto-tags it, and makes it searchable in plain English. Export to Markdown for Notion or Obsidian anytime.
Free to start · No credit card required · Waitlist now open


