How to save and export ChatGPT conversations (2026)
In July, a years-long ChatGPT Pro subscriber was mid-trip when their account was permanently deactivated — appeal denied, decision marked final, every conversation out of reach. The only copy of your history you control is one that lives outside chatgpt.com, and there are five real ways to make one: the official data export (Settings → Data controls), copy-paste, print to PDF, a browser extension — or Carry, our extension, which saves each conversation as a Markdown file in a folder you own. Here’s how each works in 2026, and what each misses.
The methods at a glance
| Method | What you get | Effort | Habit or one-off | Best for |
|---|---|---|---|---|
| Official data export | Everything, as raw JSON plus an HTML viewer | Request, wait up to 7 days, download within 24 hours | One-off snapshot | A full archive, occasionally |
| Copy-paste | One exchange; code, tables, and math suffer | High, per conversation | One-off | A single short exchange |
| Print to PDF | A fixed picture of one conversation | Low, per conversation | One-off | A shareable record of one chat |
| Extensions & scripts | Markdown or PDF per chat; quality varies by tool | One click, until ChatGPT’s page changes | Ongoing | Convenience, if you vet it |
| Carry | Clean Markdown files, written automatically | Automatic once connected | Ongoing | A working copy that stays current — $59 once, 14-day trial |
Method 1: ChatGPT’s official data export
The built-in route: in ChatGPT, go to Settings → Data controls → Export data and confirm. OpenAI prepares a ZIP of your whole account and emails you a download link. The fine print, per the official help doc and the receipts below:
- Where
- Settings → Data controls → Export data
- Arrives
- By email, up to 7 days later, from
noreply@tm.openai.com - Link lives
- 24 hours, and only opens for the account that requested it
- You get
- Every conversation as raw JSON, a
chat.htmlviewer, and images ChatGPT generated - Not included
- Files you uploaded, chats deleted before exporting, and any per-project selection — it’s the whole account or nothing
- Not available
- Business and Enterprise workspaces
Two more things catch people out:
- It’s a data dump, not a reading format. The JSON stores each conversation as a tree of message nodes; turning it into something you’d browse or search usually means running a converter against it. As one tool-builder put it: “It’s useful as a backup — but it’s not something most people can actually read.”
- The format shifted quietly in spring 2026. Around April, tool maintainers documented exports arriving as multiple numbered files (
conversations-000.json,conversations-001.json, …) instead of one, breaking older converter scripts — with no announcement and no versioning.
Verdict The right occasional full backup — request one a few times a year and file it away. As a way to live with your conversations it’s a snapshot, and a snapshot ages the moment it arrives.
When the data export doesn’t work
chatgpt data export not working is its own search for a reason. The most common failures, and what actually helps:
- The email never arrives. This is a multi-year thread on OpenAI’s own forum with no staff reply, and fresh reports from July 2026 — one user requested four exports in a day and got nothing. Check spam for
noreply@tm.openai.com, and give it the full week before concluding it failed. - The link opens “Not Found.” The download is pinned to the requesting account — open it in a browser that’s signed in to exactly that account.
- Repeat requests reset the queue. One export tool’s maintainers report that a new request silently cancels the pending one, so re-requesting daily can mean never receiving anything. Request once and wait.
- Some exports are incomplete. One user who had saved conversations by hand before exporting found the official ZIP was missing messages their manual copies contained. Hard to verify at scale, but worth knowing the export isn’t a guaranteed-complete record.
Method 2: copy-paste
For saving this one conversation, selecting the text and pasting it into a note works — until the conversation has structure. Code fences, tables, and math all degrade in plain copy-paste. Users asking OpenAI for a real per-conversation export describe the manual route plainly: “Copy-pasting chats manually is time-consuming and loses structure.”
Verdict Fine for the occasional keeper; not a habit that survives contact with a real working history.
Method 3: export a ChatGPT conversation to PDF
There’s no built-in PDF export — people have been asking for one since 2024 — so the standard route is the browser’s print dialog:
- Open the conversation and collapse the sidebar.
- Scroll through the whole conversation once, top to bottom, so every message has rendered.
- Switch to light theme — dark mode prints poorly, pale text on dark blocks.
- Press Cmd/Ctrl+P and set the destination to Save as PDF.
- Under the dialog’s more settings, turn on background graphics and turn off headers and footers.
ChatGPT only renders the messages near your scroll position, and the print dialog only captures what’s rendered — that’s why step 2 isn’t optional. Check the page count in the print preview before saving. Long code blocks also get cut at the print width, losing whatever scrolled horizontally.
If you’d rather click a button, most exporter extensions sell PDF as their headline format — with catches worth reading before you install: one popular exporter caps free users at 3 PDFs per day and generates them on its own servers, which means your conversation makes a round trip through someone else’s machine.
Verdict Good for freezing one conversation to share. A dead end for anything you’d want to search, link, or reuse.
Method 4: browser extensions and scripts
Dozens of Chrome extensions promise one-click export from ChatGPT to Markdown, PDF, or Notion. They differ mechanically, and the mechanism decides both fidelity and risk:
- DOM scrapers read the rendered page. They break when ChatGPT’s markup changes, and formatting fidelity breaks at the same spot.
- API readers pull the conversation from ChatGPT’s own backend data, the same thing the page renders from. The open-source chatgpt-exporter userscript works this way and stays actively maintained; structure survives because it never touches the page.
- Server-side processors upload your conversation to the vendor’s servers to generate the file — a privacy tradeoff hiding inside a convenience feature.
The trust question is bigger than fidelity, because an extension that can read your ChatGPT tab can read everything you type there — and it updates itself silently after you install it. The recent record: in December 2025, researchers revealed that a VPN extension with millions of users had begun harvesting conversations from eight AI platforms after a routine auto-update, shipping them to a data broker. In January 2026, two extensions impersonating AI assistants were caught exfiltrating ChatGPT conversations to remote servers every 30 minutes. By March, security teams were reporting “prompt poaching” as a trend, not a one-off — several dozen incidents in a month.
So vet before you install. The bar any exporter extension should clear:
- Local-only — no server it phones home to, nothing to exfiltrate.
- Minimal permissions, scoped to the one site it needs — not “read and change all your data on all websites.”
- A clear reason for every permission it asks for.
Carry is the extension built to clear that bar, and it’s the next section.
Doing it with Carry
We built Carry because we wanted the last method on this list to exist and it didn’t: something that just keeps a clean copy without asking us to remember. It saves your ChatGPT, Claude, and Grok conversations as Markdown into a folder you own — local-only, no account, no API key. It reads each provider through the session you’re already signed into, so code, tables, and structure come through intact.
Three steps, and the animation below is the whole thing:
Pick your folder
Connect providers
Then it's automatic
Pick a folder, connect the providers you use, and that’s it — from there the recent window stays saved on its own, no clicking and nothing uploaded anywhere. What you’re left with is plain Markdown on your disk: searchable, greppable, and yours whether or not you keep Carry around.
That’s the pitch, and it’s the last we’ll make of it — the homepage has the rest if it sounds useful.
Common questions
How do I export a ChatGPT conversation as a PDF?
Why is my ChatGPT data export not working?
Does the official export include everything?
Does OpenAI keep my deleted chats?
Can Carry back up my entire ChatGPT history?
Does re-syncing with Carry create duplicate files?
What happens when Carry’s 14-day trial ends?
Carry is local-only — no server, no account, and only the providers you connect. It saves ChatGPT, Claude, and Grok conversations into your own folder as Markdown — see how it works to get started. If you also use Claude, the Claude export guide covers that side, and the Obsidian walkthrough shows the vault setup.
Save every conversation.
Sync your ChatGPT, Claude, and Grok conversations into your own folder — as clean Markdown, local-only.