← All posts

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.

  1. Click your profile picture, then Settings.
  2. Open Data controls and select Export next to Export data, then confirm.
  3. Watch the account’s inbox for a message from OpenAI, and check spam. Phone-only accounts get a text.
  4. 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.json beside 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.

The gap

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?
Not with the data export; it’s the whole account. For one chat, copy it, print it to PDF, or use an exporter that reads the chat’s data. Long chats only come out whole from tools that read the data rather than the page.
Does the ChatGPT export include images and uploaded files?
Images ChatGPT generated are usually in the ZIP. Files and images you uploaded are not; the JSON references them by id only.
Does the export include deleted or archived chats?
Deleted chats no: OpenAI says deleted chats are purged within 30 days, and the export can’t bring them back. An archived chat is still stored in your account, so look under Settings → Data controls → Archived chats before you assume it’s lost.
Why is my conversations.json split into several files?
Large exports now arrive as numbered files, conversations-000.json, conversations-001.json and so on. Point your converter at all of them; many older scripts only read the first.
Can I export ChatGPT data on a Team or Enterprise plan?
Not yourself. OpenAI offers no self-service export in Business, Enterprise or Healthcare workspaces. Ask your workspace owner. If you’re about to merge a personal account into one, export the personal account first.

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.

Save every conversation.

14-day trial, no card. Then $59 once, no subscription.