ChatGPT power user
ChatGPT export data: what you get and why it fails
To export your ChatGPT data, open your profile menu, go to Settings → Data controls, select Export next to Export data, and confirm. OpenAI builds a ZIP of your whole account and emails you a download link, which can take up to 7 days to arrive and stops working 24 hours after it does. The ZIP holds every chat still in your account as JSON, a chat.html viewer and a few account files. By most accounts it does not include files you uploaded, chats you deleted, or any way to pick one chat. The rest of this page covers what’s inside, how long it really takes, and what to do when it fails.
How to export your ChatGPT data
The export works on Free, Go, Plus and Pro accounts, and on Edu workspaces where an admin has turned it on. Business, Enterprise and ChatGPT for Healthcare workspaces have no Export button; the workspace owner has to ask OpenAI.
- Click your profile picture, then Settings.
- Open Data controls and select Export next to Export data, then confirm.
- Watch the account’s inbox for a message from OpenAI, and check spam. Phone-only accounts get a text.
- Open the link signed in to the same account and download the ZIP within 24 hours.
- Where
- Settings → Data controls → Export data, per OpenAI’s export article
- Arrives
- By email, or by text for phone-only accounts, up to 7 days later; often within hours
- Link lives
- 24 hours, and only for the account that asked
- Scope
- The whole account. No per-chat or per-project export
- Pending request
- Wait for it. OpenAI says not to request again while one is in progress
What’s in the ChatGPT export ZIP
OpenAI documents conversations.json and little else, so this list comes from what people find when they unzip:
| File | What it holds |
|---|---|
conversations.json |
Every chat as a tree of message nodes, with titles, timestamps, model names and tool calls. Large accounts may get it split into conversations-000.json, conversations-001.json and so on |
chat.html |
The same chats rendered for a browser. Open it to read or search with Ctrl/Cmd+F |
user.json |
Your name, email, account id and sign-up date |
message_feedback.json |
Thumbs up and down you gave on replies |
model_comparisons.json |
Your picks from side-by-side model tests |
shared_conversations.json |
Metadata for chats you shared by link |
dalle/ and generated images |
Images ChatGPT generated (absent if you never made any) |
The numbered shards appeared around April 2026 with no announcement. OpenAI’s article on transferring exported conversations mentions numbered JSON files for large exports, and tool maintainers documented the split breaking older converters.
What’s not in the ZIP:
- Files you uploaded. PDFs, spreadsheets and images you attached are referenced in the JSON, not included.
- Deleted chats. Only chats still in your account at export time are included, so check Archived chats before you assume one is gone.
- Project structure. Project chats sit in the one big file with no project grouping, and OpenAI has no per-project export.
- Custom GPT configurations. The instructions and knowledge files of GPTs you built don’t appear.
- Memory and custom instructions as separate files. Reports differ on whether memory shows up in
user.json. If you need it, copy it from Settings → Personalization → Manage memories.
How long does a ChatGPT data export take?
OpenAI’s limit is 7 days. Most people get the email within minutes to a few hours; accounts with years of chats take longer, and sometimes it never comes. Give one request a full day before you worry and the full week before you ask support. Requesting again doesn’t speed it up.
ChatGPT data export not working
A multi-year thread on OpenAI’s forum collects reports of exports that never arrive, with no staff reply. Work through these in order:
- No email. Check spam and promotions too, and make sure you’re looking in the inbox of the email on the ChatGPT account, not the one you expected. If the account signs in with a phone number only, the link comes by text.
- You requested more than once. Stop. Wait 7 days from the last request, then try once.
- The link opens “Not Found” or a blank page. Sign in to exactly the account that requested the export, in the same browser, then click again. If 24 hours have passed, request a new one.
- The download stalls. Try an incognito window with extensions off, another browser, or no VPN.
- Business, Enterprise or Edu workspace. There’s no self-service export. Ask the workspace owner or admin; Edu admins can turn it on; Business and Enterprise users have to ask their workspace owner.
- Chats missing from the ZIP. Check Archived chats first. Some users find messages missing from chats they can still open; save those another way.
- You can’t sign in. Request your data through OpenAI’s Privacy Portal instead. It runs separately from the in-app export.
How to read the export and convert JSON to Markdown
The ZIP is a data dump, not a reading format. Three ways to get something usable:
- Open
chat.html. Fastest for a one-time look. Every chat is on one page, so find works, but there’s nothing to put in a notes app. - Run a converter on
conversations.json. Open-source scripts turn it into one Markdown file per chat, flattened to the current branch, so regenerated answers you didn’t keep are dropped. Check that yours reads the numbered shards; several broke in April 2026. You’ll redo this after every export. - Skip the export. Carry, which we make, reads each chat through ChatGPT’s own API and writes a Markdown file per chat into a folder you pick, then updates it when the chat changes. It also saves only the version on screen. One chat from
conversations.jsonbeside the file Carry writes:
ChatGPT’s download JSON
conversations.json, one chat, trimmed
[ { "title": "Oven temperatures in Celsius", "create_time": 1790188927.519, "update_time": 1790188935.664, "mapping": { "aaa1…": { "message": { "author": { "role": "user" }, "content": { "content_type": "text", "parts": ["What is 350 °F in Celsius? Give me a quick table for common oven temperatures."] } }, "parent": "aaa0…", "children": ["aaa2…"] }, "aaa2…": { "message": { "author": { "role": "assistant" }, "content": { "content_type": "text", "parts": ["350 °F is about 175 °C. Here are the common ones:\n\n| °F | °C | Gas mark |\n| --- | --- | --- |\n| 325 | 160 | 3 |\n| 350 | 175 | 4 |\n| 400 | 200 | 6 |\n| 425 | 220 | 7 |"] } }, "parent": "aaa1…", "children": [] }, // … one node per message, linked by parent and children }, "current_node": "aaa2…" }]…and every other chat you’ve had, in the same file
Carry’s note Markdown
2026-09-23-oven-temperatures-in-celsius.md
---
conversation_id: "66f1d0a4-93be-8002-a6c1-5e2b7d40f918"
source: chatgpt
type: conversation
title: "Oven temperatures in Celsius"
aliases:
- "Oven temperatures in Celsius"
tags:
- capture/chatgpt
created: 2026-09-23T18:42:07
updated: "2026-09-23T18:42:15.664Z"
verified_list_token: "2026-09-23T18:42:15.664Z"
conversation_files_fetched: true
synced: 2026-09-23T18:55:02
url: "https://chatgpt.com/c/66f1d0a4-93be-8002-a6c1-5e2b7d40f918"
message_count: 2
capture_version: 2
content_hash: sha256:a7545922d4feea779d6640175abe4c8ec89be13d36f251b32b34d20cad9bb8c4
---
**Human**
What is 350 °F in Celsius? Give me a quick table for common oven temperatures.
**Assistant**
350 °F is about 175 °C. Here are the common ones:
| °F | °C | Gas mark |
| --- | --- | --- |
| 325 | 160 | 3 |
| 350 | 175 | 4 |
| 400 | 200 | 6 |
| 425 | 220 | 7 |…and your next chat gets a note of its own
If the point is to move your history somewhere else, the guide to moving ChatGPT history to Claude covers that route, and the ChatGPT exporter page compares exporters.
Is the ChatGPT data export a backup?
It’s a snapshot. Everything you write after the email arrives is unsaved until you request again, wait again and download again, and the export can’t restore a chat that was already deleted when you asked. For an archive you refresh a few times a year it’s fine, and it’s free.
Chats vanish between exports: a deleted chat, a deactivated account, a long thread that won’t copy. A one-off ZIP from March doesn’t hold a conversation from May. A backup is a copy that keeps up with the account; see how to back up ChatGPT.
Carry stays current: ChatGPT and Claude chats save on their own about every couple of hours while your browser is open, and Grok saves while a grok.com tab is open. Files download as originals, each project becomes a folder with its chats, instructions and files, and nothing is uploaded. The 14-day trial saves your newest 25 chats per app plus new ones; after that, saving stops unless you buy the one-time $59 license, and saved files stay yours. It doesn’t read Business workspaces or chats deleted before it ran. The guide to saving ChatGPT conversations compares it with copy, PDF and the export.
Common questions
Can I export just one ChatGPT conversation?
Does the ChatGPT export include images and uploaded files?
Does the export include deleted or archived chats?
Why is my conversations.json split into several files?
Can I export ChatGPT data on a Team or Enterprise plan?
Carry processes chats on your device and never uploads them. It downloads a signed compatibility file from carry.md and sends usage counts, which you can switch off; see privacy details.