Drop the ZIP into the ChatGPT and Claude export viewer to search every chat and save any of them as PDF or Markdown. It runs in your browser, so your history is never uploaded.
Open your exportWhy export your ChatGPT history
Your chats live on OpenAI's servers, and the app is built for carrying on a conversation, not for finding one from last spring. An export gives you a copy you control. People usually want one for a few reasons:
- a backup before deleting chats, closing an account or leaving a job where they used a personal account for work;
- finding an answer again with a proper full-text search instead of scrolling the sidebar;
- keeping research, drafts or code from many chats in one place, as files that open without ChatGPT;
- moving notes into a knowledge app such as Obsidian or Notion.
The export is the only official way to get everything at once. Copying chats one by one works for a handful, not for hundreds.
Step 1: request the export from ChatGPT
- Open settings. Sign in to ChatGPT, click your profile picture or name, and choose Settings.
- Go to Data controls. Under Export data, choose Export, then confirm.
- Wait for the email. OpenAI sends a download link when the file is ready. It is often quick, but OpenAI says it can take up to 7 days.
- Download within 24 hours. The link expires 24 hours after you receive it, and you need to be signed in to the same account to use it.
Settings exports are available on Free, Plus and Pro accounts and on eligible Edu workspaces. On ChatGPT Business and Enterprise workspaces the option isn't there; the workspace owner handles data requests. If you can't sign in at all, OpenAI's Privacy Portal has a separate “Download my data” request.
Step 2: know what's inside the ZIP
The download is a single ZIP file. Inside you'll usually find:
| File | What it holds |
|---|---|
| conversations.json | Every chat with every message, as data. Large exports split it into conversations-000.json, conversations-001.json and so on. |
| chat.html | A web page that shows your chats. It loads the whole history at once, which can be very slow for a long one. |
| user.json | Basic account details. |
| message_feedback.json | The thumbs up and down you gave answers. |
| shared_conversations.json | Chats you shared with a public link. |
| Image files | Pictures you uploaded or generated, referenced from the chats. |
The conversations file is written for programs. Each chat is a tree of message nodes rather than a simple list, because every time you edit a prompt or regenerate an answer ChatGPT keeps the old version as a separate branch. A shortened chat looks like this:
{
"title": "Lisbon trip on a budget",
"create_time": 1736935200.12,
"current_node": "a2",
"mapping": {
"u1": { "parent": "root", "children": ["a1"],
"message": { "author": { "role": "user" },
"content": { "content_type": "text",
"parts": ["Plan 3 days in Lisbon."] } } },
"a1": { "parent": "u1", "children": ["u2"], "message": { ... } }
}
}current_node marks the last message you were looking at. Reading the chat as you saw it means starting there and following each parent back to the first message. A plain JSON viewer can show you the tree, but not the conversation.
Step 3: open it without uploading it anywhere
Many “ChatGPT export viewer” websites ask you to upload the ZIP to their server. That file holds every conversation you've had, including anything personal or confidential you typed. Uploading it means trusting a stranger's server with all of it. A viewer that runs in the browser reads the file on your own device instead.
- Open the export viewer. Go to the ChatGPT and Claude export viewer.
- Drop the ZIP as it is. No need to unzip it. Exports of hundreds of megabytes are read in pieces, with progress shown.
- Search or browse. Search looks through every title and message. Put a phrase in quotes to match it exactly.
- Open a chat. It's shown as it appeared in the app: the branch you last saw, with tables, code and formulas drawn properly.
You can check that nothing is uploaded: open your browser's developer tools, switch to the Network tab and drop the file. The page makes no request carrying your data. Tool steps such as code runs, web searches and reasoning summaries are hidden until you tick the option to include them.
Claude works the same way
Claude has its own export: Settings, Privacy, Export data, on the web or in the desktop app (not from the iOS or Android apps). The link also arrives by email and also expires after 24 hours. On Team and Enterprise plans only the organisation's Primary Owner can export.
Claude's ZIP holds a conversations.json too, but each chat is a simple list of messages with a sender, a time and content blocks for text, thinking and tool use. The same viewer opens both, and you can drop a ChatGPT export and a Claude export together to search all of your chats in one list.
Keeping a usable archive
The raw JSON is a faithful backup, but you can't read it. Keep the original ZIP, and next to it a readable copy:
- Markdown files. Download all as Markdown gives one file per chat, named by date and title, such as
2025-01-15-lisbon-trip-on-a-budget.md, plus an index.md that links to every chat. Markdown opens in any text editor and in note apps. - PDFs for the chats that matter. A PDF is the easiest thing to send to someone or attach to a record. The guide to saving a chat as PDF covers the options.
- Somewhere private. Treat the export like a diary: store it on an encrypted drive or in a private folder, not a shared one.
Request a new export now and then. Each one is a full snapshot, so the newest replaces the old one.
Common mistakes
- Letting the link expire. After 24 hours it stops working and you have to request the export again, which means waiting for another email.
- Opening the export in a spreadsheet. Excel and Google Sheets can't turn the nested message tree into rows, so you get one cell full of text or an error.
- Expecting deleted chats. The export contains the chats in your account when it was made. Chats you deleted before requesting it aren't included.
- Dropping the wrong file. If you unzipped the export, drop conversations.json (or all the numbered conversations files together), not user.json or chat.html.
Sources
- OpenAI Help Center: Exporting your ChatGPT history and data. Data controls, Export data; 24-hour link; eligible plans
- Claude Help Center: How can I export my Claude data?. Settings, Privacy, Export data; 24-hour link; supported apps