How to export a Claude chat to PDF, Markdown or JSON
By The TidyChats founder · · 8 min read
Short answer: Claude doesn't have an export button for a single chat. As of October 2026, the only official export covers your whole account: click your initials in the bottom left, then go to Settings → Privacy → Export data, and Anthropic emails you a download link that expires 24 hours after it arrives. It works on the web and in Claude Desktop, not in the iOS or Android apps. If you want one conversation as a PDF or a Markdown file, you're looking at a workaround: the browser's print dialog, copy and paste, or an extension.
Quick disclosure: I build TidyChats, a browser extension that adds folders, search and export to Claude and the other big assistants, so I spend a lot of time in each of them. I'll go through the native routes first, because for a lot of people they're enough.
The short version
- Claude's official export is account-wide: Settings → Privacy → Export data, delivered as an emailed link that expires after 24 hours.
- On Team and Enterprise plans, only the Primary Owner can export, through the organization export.
- For a single chat, printing to PDF is the quickest free option. It's one chat at a time and the layout can get messy.
- The account export arrives as a ZIP, and people who've opened it report the chats come as JSON. A JSON viewer,
jqor a short script makes it readable.
The official route: Claude's account data export
Anthropic documents this on its Export your Claude data help page. Here's the sequence:
- Open Claude in your browser or in Claude Desktop. The mobile apps can't do this.
- Click your initials in the bottom left corner, then click Settings.
- Open Privacy and click Export data.
- Wait for the email. Anthropic says there "may be a small delay" and doesn't promise a time.
- Download the file within 24 hours of the email arriving. After that the link expires and you have to request a new export.
This works on the Free, Pro and Max plans. Team and Enterprise are different: only the Primary Owner can export, and they do it through the organization data export. So if you're a regular member of a company workspace, this route isn't open to you. You'd have to ask whoever owns the account.
One more limit from the same page: you can't import the export into another personal Claude account. It's a copy of your data, not a way to move your history somewhere else.
The help page also leaves a lot out. There's nothing about exporting one chat, nothing about picking PDF or Markdown, and nothing that says whether Projects or artifacts are included. One developer who dug through the browser's network tab to get his chats out put it this way: "there doesn't seem to be any way to export these natively - maybe by design?" The export is a backup and data-request tool. It isn't meant for saving one conversation.
Saving a single Claude chat
If you need one chat as a file you can send, archive or drop into your notes, these are the realistic options. Each has a catch.
| Method | What you get | Main downside |
|---|---|---|
| Print to PDF | A PDF of the open chat | One chat at a time, layout can be messy |
| Copy and paste | Text in any app you like | Tedious for long chats, formatting varies |
| Share link plus converter | Markdown or PDF from a third-party tool | The chat becomes public to anyone with the link |
| Markdown exporter extension | A .md file per chat | Images and files often turn into placeholders |
| Account export | Your whole account in one ZIP | Not per chat, link expires in 24 hours |
Print to PDF
Open the chat, press Ctrl+P (Windows, Linux) or Cmd+P (Mac), and pick Save as PDF as the destination. That's it.
The downsides are the ones freeCodeCamp's guide to exporting Claude conversations as PDF points out: you do it one chat at a time, and the layout can come out messy, because you're printing a web app rather than a document. For a one-off, like sending a single conversation to a colleague, I think it's perfectly fine. For fifty chats, it gets old fast.
Copy and paste
Select the conversation, copy it, paste it into a doc or a notes app. Nothing to install, and it works for short exchanges. For long chats it's slow, and how well headings, lists and code blocks survive depends on where you paste. If you only need the final answer rather than the whole back-and-forth, this is the fastest route.
Share link plus a converter
Some tools take a Claude share link and turn it into Markdown or PDF. The problem is the first step: creating a share link makes that chat public to anyone who has the link. For anything with client details, personal information or unreleased work, I'd skip this one.
Markdown exporter extensions
There are a handful of browser extensions that save a Claude chat as Markdown. A common limitation is that images and uploaded files become placeholders in the output, since a text file can't hold them. Whatever tool you pick, check how it handles attachments before you rely on it for an archive.
What's inside the Claude export
You get a ZIP. Anthropic doesn't publish a list of the files in it, so I won't give you one as fact.
What people who've opened it report: the conversations sit in a file called conversations.json, which is a JSON array where each object is one chat with fields like uuid, name (the title) and chat_messages. That description comes from a GitHub issue from April 2026, not from Anthropic. Because the format is undocumented, it can change between exports without notice.
Whether your Projects or artifacts are in there isn't stated anywhere official either. If those matter to you, request an export and check your own file before you delete anything from Claude.
How to make the Claude JSON export readable
Raw JSON isn't fun to read, but you don't need much to make it usable.
Quick look, no tools
Unzip the file and open conversations.json in a code editor. In VS Code, Format Document turns it into indented, readable JSON. Firefox also has a built-in JSON viewer if you drag the file into a tab. Then search for a phrase you remember typing, and you'll land in the right chat.
Find one chat with jq
If you have jq installed, these commands help. First, check the structure of your own file, since it isn't documented:
# Fields on a chat object
jq '.[0] | keys' conversations.json
# Fields on a message inside that chat
jq '.[0].chat_messages[0] | keys' conversations.json
# List every chat title
jq -r '.[].name' conversations.json
# Pull out chats whose title contains "invoice" (case-insensitive)
jq '.[] | select(.name | test("invoice"; "i"))' conversations.json > invoice-chats.json
Turn it into Markdown files
Here's a short Python script that writes one Markdown file per chat. I've put the message field names at the top as settings, because Anthropic doesn't document them. Check them against what the second jq command showed you and change them if your file uses different names. If they don't match, the script stops and prints the field names it did find.
import json, re, pathlib
# Not documented by Anthropic. Match these to your own file.
WHO = "sender"
TEXT = "text"
chats = json.load(open("conversations.json", encoding="utf-8"))
out = pathlib.Path("claude-md")
out.mkdir(exist_ok=True)
first = next((m for c in chats for m in c.get("chat_messages", [])), {})
missing = [k for k in (WHO, TEXT) if k not in first]
if missing:
raise SystemExit(f"Field(s) {missing} not found. Message keys are: {list(first)}")
for chat in chats:
title = chat.get("name") or "untitled"
lines = [f"# {title}", ""]
for m in chat.get("chat_messages", []):
lines += [f"**{m.get(WHO, '?')}**", "", str(m.get(TEXT, "")), ""]
safe = re.sub(r"[^\w\- ]", "", title)[:60]
(out / f"{safe}-{chat.get('uuid', '')[:8]}.md").write_text("\n".join(lines), encoding="utf-8")
One caveat: at least one tool vendor claims messages in the export are linked by parent IDs rather than stored in order. I haven't seen Anthropic confirm that, so open one converted chat and check that the order makes sense before you convert hundreds.
Exporting Claude chats with TidyChats
If you'd rather click a button inside Claude than run scripts, this is where an extension fits. Here's how TidyChats handles it on Claude.
Open the chat you want, then use the download icon on the "Current chat" card, "Export…" in the chat menu, or "Export this chat" from the command palette. The "Export chat" dialog offers four formats:
- "Plain text (.txt)"
- "Markdown with YAML frontmatter (.md)", with title, date, updated, model, url, source, tags and messages in the frontmatter, so it drops cleanly into an Obsidian vault or any Markdown notes setup
- "JSON (.json)"
- "PDF (print dialog)", which opens a print page with a "Print / Save as PDF" button and then your browser's print dialog
What's free and what isn't: the free plan gives you TXT, one chat at a time, with no daily limit. Claude Premium adds Markdown, JSON, PDF and multi-chat ZIP exports. For ZIPs you can use "Export folder (ZIP)" on a folder (subfolders become folders inside the ZIP), or select several chats in "Manage chats" and click "Export". Premium is bought per platform: $9.99 a month, $59 a year or $99 lifetime for Claude alone, or $199 for All Access Lifetime covering all four assistants. The pricing page has the details.
A few caveats. It's a Chrome extension, so it doesn't help on the Claude mobile apps. It reads your chats with your existing Claude login, and transcripts are stored locally in your browser (the exception: if you're a signed-in Premium user and ask for an AI summary, that chat's text goes to the TidyChats server). And if you only need a backup once in a while, Anthropic's own export does that for free. The Claude page covers everything TidyChats does on claude.ai, and the export tutorial walks through each format step by step.
Once your chats are out, keeping them findable is the next problem. I wrote about that in how to organize Claude chats.
Questions people ask
Can I export a single Claude chat?
Not with a native button, as of October 2026. Claude's official export covers your whole account. For one chat, print it to PDF, copy it out, or use an extension.
How long does the Claude data export take?
Anthropic doesn't give a time, only that there "may be a small delay" before the email arrives. Once it does, download it within 24 hours, because the link expires after that.
Can I export Claude chats from the iPhone or Android app?
No. According to Anthropic's help page, the export is only available on the web and in Claude Desktop.
Does the Claude export include Projects and artifacts?
Anthropic's help page doesn't say. Request an export and check your own file if this matters to you.
Can I import my Claude export into another account?
Not into another personal Claude account, per Anthropic. You can still read the JSON yourself or convert it to Markdown with the script above.
Try TidyChats free
Folders, search and prompts for ChatGPT, Claude, Gemini and Grok.