A Chrome extension that saves articles, posts, and videos from X.com (Twitter) and any website as clean markdown files, optimized for Obsidian.
Save your favorite content from X.com and the web directly to markdown format, perfect for your Obsidian vault or any markdown-based knowledge management system.
- Save X.com Content: Posts, long posts, threads, and articles from X.com/Twitter
- Save X.com Videos: Detects video posts and includes video metadata
- Save Web Articles: Articles from any website with structured content extraction
- Clean Markdown Export: Academic-style format optimized for Obsidian
- Obsidian-Compatible Filenames:
Title - YYYY-MM-DD.md
- π Knowledge Management: Build your personal knowledge base from web content
- π Obsidian Integration: Filenames and format designed for Obsidian vaults
- π― X.com Specialization: Advanced extraction for tweets, threads, and X articles
- πΉ Video Support: Captures video metadata from X.com posts
- π Universal: Works on any website with article content
- π Privacy First: All data stored locally in your browser
- πΎ Export Ready: Clean markdown files ready to use
- Clone or download this repository:
git clone https://github.com/twoknow/x-article-saver.git
- Open Chrome and navigate to
chrome://extensions/ - Enable Developer mode (toggle in top-right corner)
- Click Load unpacked
- Select the
x-article-saverfolder - The extension icon should appear in your toolbar
Note: This extension is currently available for manual installation. Chrome Web Store listing coming soon!
- Navigate to a page you want to save:
- X.com post/video page (
x.com/user/status/...) - Any webpage with article content
- X.com post/video page (
- Click the extension icon
- The popup shows the detected page type (Article, Tweet, Video Post)
- Click Save Current Page
- The content will be saved and appear in your list
- Download: Click "Download" to get a markdown file
- Delete: Click "Delete" to remove from saved list
- Regular Posts: Short tweets (< 280 chars)
- Long Posts: Extended posts (> 280 chars)
- Video Posts: Posts with embedded videos (includes video metadata)
- Articles: X.com long-form articles
- Articles with title, content, author
- Blog posts
- News articles
- Academic papers
# Article Title
**Author:** Author Name (@handle)
## Summary
Brief summary of the content...
## Video (for video posts)
**Video URL:** https://...
**Thumbnail:** https://...
**Duration:** 2:30
> Note: Download videos directly from X.com or use a video downloader tool.
## Keywords
`keyword1`, `keyword2`, `keyword3`
## Content
Main article text...
## References
1. Reference 1
2. Reference 2
---
## Metadata
| Field | Value |
|-------|-------|
| Type | Video Post |
| Source | x.com |
| Date Saved | February 12, 2026 |
| URL | [Link](https://...) |
**Tags:** `video` `x-com`article-saver/
βββ manifest.json # Extension configuration (Manifest V3)
βββ icons/ # Extension icons
βββ background/
β βββ background.js # Service worker - storage & markdown generation
βββ content/
β βββ content.js # Content extraction for all sites
βββ popup/
βββ popup.html # Popup UI
βββ popup.js # Popup logic
βββ popup.css # Styling
- Make sure you're on a specific X.com post page (
x.com/user/status/...) - Wait for the page to fully load before saving
- The page may not have standard article structure
- Try refreshing the page and saving again
- Reload the extension in
chrome://extensions/ - Refresh the page you're trying to save
- β All data is stored locally in Chrome's local storage
- β No external servers or API calls
- β No tracking or analytics
- β You have full control over your saved articles
- β No personal information is collected
Contributions are welcome! Here's how you can help:
- Report Bugs: Open an issue with details about the problem
- Suggest Features: Share your ideas for improvements
- Submit PRs: Fix bugs or add features
- Improve Documentation: Help make the docs clearer
- Fork and clone the repository
- Make your changes
- Test the extension locally (see Installation above)
- Submit a pull request
background/background.js- Service worker for storage and markdown generationcontent/content.js- Content extraction from web pagespopup/- Extension popup UI (HTML, CSS, JS)manifest.json- Extension configuration (Manifest V3)
MIT License - feel free to use this project for personal or commercial purposes.
Built with Manifest V3 for modern Chrome extensions. Optimized for Obsidian but works with any markdown editor.
- Unified content script for all sites
- Added video detection for X.com posts
- Removed "academic-style" restriction for articles
- Improved content extraction
- Better UI with page type detection
- Fixed content script conflict issue
- Rewrote X.com extraction using semantic selectors
- Added proper h2/h3 header detection
- Fixed title truncation issues
- Complete rebuild from twitter-activity-tracker
- Simplified architecture
- Academic markdown format
- Firefox support
- Batch download multiple articles
- Custom markdown templates
- Tag management system
- Browser sync across devices
If you find this extension useful, please:
- β Star this repository
- π Report bugs via Issues
- π‘ Share feature ideas
- π’ Spread the word
Current Version: 3.0.0 | Last Updated: February 12, 2026