X2Notion — Save X Articles to Notion
Extension Actions
Save X articles, threads, and tweets to Notion or Obsidian in one click.
Save anything you read on X to your knowledge base with a single click — Articles, threads, single tweets, and quote tweets. Pick Notion or Obsidian as your destination (or both).
X2Notion is for people who treat X as where the real conversation happens, and want their saved posts somewhere they can actually find them — and feed them to their personal AI agent — later. Instead of bookmarking an article into a graveyard, send it straight to a structured database with title, author, date, full text, images, and video links preserved.
━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT IT SAVES
━━━━━━━━━━━━━━━━━━━━━━━━━━━
✦ Long-form X Articles — full structure, headings, lists, links
✦ Threads — auto-detected, numbered (n/total format), each tweet on its own block
✦ Single tweets — when one tweet is enough
✦ Quote tweets — outer tweet + the quoted tweet preserved as nested context
✦ Videos — poster thumbnail + link back to the original tweet (no rehosting)
━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHERE IT SAVES
━━━━━━━━━━━━━━━━━━━━━━━━━━━
✦ Notion — connect with OAuth, pick a database, done. Or let us create one for you.
✦ Obsidian — local-first via the Obsidian Local REST API plugin. Markdown files with YAML frontmatter (Dataview-ready).
✦ Both at once — save to Notion AND Obsidian simultaneously if you want.
━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT MAKES IT DIFFERENT
━━━━━━━━━━━━━━━━━━━━━━━━━━━
✦ One-click save. See the content. Click the icon (or press Cmd/Ctrl+Shift+S). Done.
✦ No API keys for Notion. Connect with the official OAuth flow and pick your database from a dropdown.
✦ Agent-ready structure. Saved content uses consistent properties (Type, Source, TweetCount) and parse-safe markers — designed to be readable by AI agents, not just humans.
✦ Duplicate detection. If a URL is already saved, you get one click to open the existing entry instead of creating a copy.
✦ Premium UI. Compact polished popup, inline save states, real welcome flow.
✦ Private by design. Your tokens stay in your browser. We don't run servers that see your data. Zero analytics. Zero telemetry.
━━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW IT WORKS
━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Install the extension. A welcome tab opens.
2. Connect to Notion (OAuth) and/or Obsidian (paste your Local REST API key).
3. Visit any X article, thread, tweet, or quote tweet. Click the extension icon. Hit Save.
Your saved content appears in your destination(s) with:
• Title (from the content)
• Author name + @handle
• Published date
• Full structured content with formatting
• Images
• Video links (when present)
• Source URL
• Type (Article / Thread / Tweet / Quote Tweet)
• Tweet count (for threads)
• Optional category and tags you chose
━━━━━━━━━━━━━━━━━━━━━━━━━━━
PERMISSIONS — WHY
━━━━━━━━━━━━━━━━━━━━━━━━━━━
• Storage — remember your Notion connection and (optional) Obsidian credentials locally
• Active tab — read the content you're currently viewing when you click the icon
• Tabs — open your saved page after save
• x.com / twitter.com — detect and extract content
• api.notion.com — send content to Notion (only if you save to Notion)
• 127.0.0.1:27124 / 27123 — send content to your local Obsidian (only if you save to Obsidian; stays on your machine)
━━━━━━━━━━━━━━━━━━━━━━━━━━━
PRIVACY
━━━━━━━━━━━━━━━━━━━━━━━━━━━
We collect nothing. We store nothing. We see nothing. Tokens stay in your browser's local storage; content goes directly from your browser to your destination. The only server we operate is a stateless OAuth proxy required by Notion's API spec — it never holds or logs your data.
Full privacy policy: [your hosted URL]
━━━━━━━━━━━━━━━━━━━━━━━━━━━
FEEDBACK
━━━━━━━━━━━━━━━━━━━━━━━━━━━
Found a bug? Have a feature idea? Open an issue at github.com/heyzgj/xarticle_to_notion