You just finished a long, useful conversation with Claude. Research, a draft, a client strategy. Now you want to keep it.
But there's no easy way to save it. So you're stuck with:
- Screenshots
- Copy and paste
- Scrolling back and retyping the good parts
These are slow workarounds. And they get worse when the chat holds hours of work you actually plan to use.
So I built a fix. It's a free Tampermonkey userscript that lets you export Claude chats to PDF, Markdown, or CSV in one click.
What's a userscript? A small piece of JavaScript your browser runs on one website. It adds a feature the site doesn't offer on its own.
This one adds a floating button to Claude.ai. Click it, pick a format, and your file will download right away.
Quick Start (30-Second Version)
- Install Tampermonkey from the Chrome Web Store (or your browser's add-on store).
- Paste in the Claude Chat Exporter Pro script and save.
- Refresh Claude.ai.
- Click the orange button and choose your format.
Full details are below.
Why Saving Claude Chats Is Harder Than It Should Be
Claude does have a built-in data export. You request it from your Claude account settings, and Anthropic emails you a download of your history.
The export does include conversations. But it arrives as ZIP archives of your entire history. That's great for backups. It's not great when you want one chat, right now, as a clean file.
What about shared links? They let others view a chat in their browser. But a link isn't a file. You can't drop it into Notion, a spreadsheet, or a client report.
What's missing is a simple download button inside the chat. That's the gap this script fills.
Features change often. Check Anthropic's official help centre for the latest on account exports.
For casual use, this gap doesn't matter much. But for research, content work, dataset building, or client deliverables, it matters a lot.
Meet Claude Chat Exporter Pro
It's a single Tampermonkey script. That's all.
- ✅ No account
- ✅ No API key
- ✅ No extra software (besides Tampermonkey)
Once installed, an orange button appears in the bottom-right corner of Claude.ai.
Live Stats at a Glance
Click the button and a panel slides up. It shows three numbers for your current chat:
Stat | What It Counts |
Messages | Total chat messages |
Words | Total word count |
Turns | Back-and-forth exchanges |
These numbers update live. Keep chatting after you open the panel, and the counts grow with the conversation. You always know exactly what you're about to download.
Pick the Right Format
This Claude exporter offers three formats. Each one suits a different job.
Format | Best For | What You Get |
Sharing, archiving, client work | Clean, print-ready layout with role badges |
Markdown | Notion, Obsidian, Bear | Neat headings and dividers, no cleanup |
CSV | Analysis, imports, datasets | Index, role, content, word count, timestamp |
How to Save Claude Chat as PDF
Choose PDF when the chat needs to look professional.
- Your messages and Claude's replies get clear role badges.
- Headers keep everything organised.
- Your browser's print window opens, so you control page size, margins, and quality.
The result looks like a real document, not a messy text dump.
Markdown: For Your Notes App
Choose Markdown if you keep notes in the Obsidian note-taking app, Notion, or any Markdown editor.
Headings and dividers organise the whole chat. Paste it in and it looks right straight away. No cleanup needed.
CSV: For Data Work
Choose CSV when you want to analyse your Claude conversations.
Each row includes:
- Message number
- Role (user or assistant)
- Full message text
- Word count
- Timestamp
That makes it ready for a spreadsheet, a database, a fine-tuning dataset, or an automation workflow.
How the Script Reads Your Chat
The script reads the conversation straight from the page. It's the same text your browser is already showing you.
It goes through every message in order, yours and Claude's. It grabs the full text without skipping messages, even in very long chats.
Why Most Simple Scripts Break on Claude.ai
Claude.ai doesn't reload when you switch chats. It just swaps the content on screen.
That's a problem for basic scripts. They only run once, when the page first loads. So when you switch chats, they either:
- Keep showing the old chat's data, or
- Stop working completely
How This Script Stays Accurate
This one keeps watching the page for changes. It's built on the MutationObserver browser API documented by MDN.
What that means for you: It works across all your conversations on Claude.ai. Switch between chats as much as you like. The stats and button always match the chat in front of you, with no refresh needed.
Who Is This For?
Researchers and Writers
Long sessions produce material worth keeping. Think literature reviews, building an argument, or editing drafts over dozens of turns.
Copying bits into a document later is slow, and you'll miss things. A Markdown export to your notes app takes five seconds.
Data and AI Builders
Building AI tools? Preparing training data? Studying conversation patterns?
The CSV export gives you a clean dataset straight from the source. Every row is labelled by role and timestamped. No manual copying.
Consultants and Client-Facing Teams
Using Claude for research, strategy, or competitor analysis? Export to PDF and add it straight to your deliverable.
It won't look like a chat log. It'll look like something a client will actually read.
How to Install It (About 30 Seconds)
The Four Steps
- Install the Tampermonkey extension for Chrome, Firefox, or Edge. Chrome users can grab it from the Chrome Web Store.
- Open the Tampermonkey dashboard and create a new script.
- Paste in the full code from the Claude Chat Exporter Pro source listing and save it.
- Refresh Claude.ai. The orange button will appear on your chat pages.
Button Not Showing Up?
Check these three things, in order:
- Is Tampermonkey on? Make sure the script shows as active in the dashboard.
- Did you save? Closing the editor tab without saving won't install the script.
- Did you refresh? If Claude was already open when you installed it, do a hard refresh (Ctrl+Shift+R).
Limits You Should Know About
Two honest notes before you rely on this.
1. Special Content May Look Different
The script saves what the page shows. Most text exports perfectly. But content in special containers can come out differently, such as:
- Code blocks
- Web search results and citations
- Other formatted elements
Tip: Test one export on a long chat before using it for anything important.
2. Terms of Service Are Your Call
Is running a userscript on Claude.ai allowed under Anthropic's terms and your own account rules? That's for you to decide.
I can explain how the tool works. Reading the terms and making the call is up to you. That's true for any website.
Need Something Bigger?
This script does one job on one website. A lot of what people ask me for goes further, like:
- Pulling data from sites that try to block scraping
- Running jobs automatically every night
- Sending clean data to PostgreSQL or Google Sheets
- Passing data through webhooks into other tools
That's my custom scraping and automation service, not a free script.
Got a data problem like that? Tell me what you need built. I'll tell you honestly whether it's a two-hour job or a two-week one.
Otherwise, grab the script, install it, and stop screenshotting your chats.
Want more? Browse my archive of scraping and automation posts.
