Export X threads & articles as clean Markdown or PDF — or send them straight to Obsidian.
Clip a single post, or your entire Bookmarks, Likes, or a Profile in one batch. Seven formats — Markdown, PDF, HTML, JSON, TXT, CSV — all from one typed Content AST, so nested threads, quote-tweets, polls, and long-form Articles come out clean. No API keys. Nothing leaves your browser.

Why not just print the page
Other tools screenshot the page. XClipper rebuilds the document.
"Save as PDF" from the browser captures everything you don't want, breaks across pages in the wrong places, and loses everything that made the post worth keeping.
Browser "Save as PDF" / screenshot
A page that looks like X, mangled.
- Sidebars, cookie banners, and faded "show more" overlays come along for the ride.
- Page breaks split tweets mid-sentence; a long thread sprawls across nine pages of dead space.
- Text isn't selectable, links aren't clickable, images get compressed, polls disappear.
- Result: a PDF you can't search, edit, or share without apologising for.
XClipper
A print-ready document, rebuilt from the post.
- Reads the underlying tweet, not the page chrome — no banners, no overlays, no engagement buttons.
- Smart page breaks that never split a tweet; reply chains stay in order; quote-tweets nest with
@handleattribution. - Selectable text, clickable links (with
t.coresolved), original-resolution images, polls inlined with results. - Result: a PDF you'd actually keep — plus matching Markdown when you want it in a note.
Batch export
Clip one post — or your whole library.
Export your entire Bookmarks, Likes, a Profile, your home Timeline, or a hand-picked Selection in a single background job — then close the popup and let it run.
- Live progress with pause / resume / stop, and a dedup ledger that skips what you've already saved.
- Write separate per-post files, one combined file, or both — in any format except PDF.
- Fast Batch ⚡ (opt-in) pulls Bookmarks, Profile, and Likes straight from your X session for a ~10× speed-up — no API key, nothing leaves your browser.

Features
Everything you need to clip X — nothing you don't.
Built for note-takers, researchers, and the LLM-curious. One click to clean Markdown or a print-ready PDF, with all the metadata you'd want.
Batch export
Export many posts in one background job from five sources — Bookmarks, Profile, Likes, Timeline, or a hand-picked Selection. Live progress bar, pause / resume / stop, and a dedup ledger that skips what you've already saved. Write separate files, one combined file, or both.
Fast Batch ⚡
An opt-in mode for Bookmarks, Profile, and Likes that pulls posts straight from your logged-in X session — roughly 10× faster, minutes to seconds. No API key, no password, nothing leaves your browser.
Seven export formats
Save any post as Markdown, PDF, HTML, JSON, TXT, or CSV — or hand it to Obsidian. Batch jobs support all formats except PDF, and CSV pairs your metadata columns with the post body.
High-fidelity Markdown
Tweets, nested threads, quoted posts, polls, link cards, and long-form X Articles converted to readable .md via a typed AST (no Turndown). Reply chains stay in order, t.co redirects resolve to the real URL, emoji and @mentions stay intact.
True PDF export
Threads and articles printed through Chrome's native engine, not screenshotted. Selectable text, clickable links, embedded images, full Unicode and emoji support.
Send to Obsidian
One-click handoff via the obsidian:// URI scheme, with an optional vault name. Obsidian-friendly frontmatter, [[@handle]] wikilinks, and customizable tags.
Local image downloads
Download embedded X media alongside your file to prevent link rot. Limited to expected X media hosts — external URLs are kept as Markdown links.
Rich YAML frontmatter
Author, handle, date, source URL, content type, and engagement stats (likes, reposts, replies, bookmarks, views). Toggle each field on or off per schema.
Local-only, no API keys
Zero-API: everything runs in your browser. No accounts, no server-side processing, nothing leaves your device. Source available on GitHub.
How it works
Three ways to clip. Same clean Markdown and PDF.
Pick whichever entry point fits the moment. All three run the same extractor and respect the same settings.
Toolbar popup
Click the XClipper icon, then pick Download .md, Copy .md, Export .pdf, or Add to Obsidian. The toggles you change per-export — images, engagement stats, source link — sit right in the popup, not buried in settings.

Inline button on every tweet
A download icon sits next to share on every tweet's action bar. One click opens the permalink and exports it. Shift- or Alt-click to export just that tweet without its thread.

Right-click anywhere
Right-click on a tweet — body, image, or timestamp — and pick Save tweet as Markdown, Copy tweet as Markdown, or Add tweet to Obsidian. XClipper figures out which tweet you meant.

Under the hood
All three entry points read X's DOM into one typed Content AST, then render to Markdown, PDF, or an Obsidian handoff. Format selectors live in one place, so an X redesign is a small patch.
Start clipping in under a minute.
Install from the Chrome Web Store. Open any tweet or article on x.com. Hit Download. That's it.