Download ChatGPT history

Go to Settings, then Data Controls, then Export Data, and confirm via the email OpenAI sends. Download the ZIP within 24 hours. It contains conversations.json with your complete history, which you then convert into readable Word, PDF, Markdown, CSV, or text files.

Short answer

Go to Settings, then Data Controls, then Export Data, and confirm via the email OpenAI sends. Download the ZIP within 24 hours. It contains conversations.json with your complete history, which you then convert into readable Word, PDF, Markdown, CSV, or text files.

Downloading your history is the difference between conversations you can access and conversations you own. Right now they sit on OpenAI's servers under terms that can change, in an account that can be suspended.

The download process

Open Settings, then Data Controls, then Export Data. Confirm, then check your email and click the confirmation link, which is what actually starts the job. OpenAI builds the archive and emails a download link, typically within 5 to 30 minutes.

The link expires in about 24 hours. Miss it and you request again from the beginning.

What arrives

| File | Contents |

|---|---|

| conversations.json | Every message in every conversation, including abandoned branches |

| chat.html | A single page rendering all conversations |

| user.json | Account identifier, email, plan metadata |

| model_comparisons.json | Response comparison ratings you submitted |

| message_feedback.json | Thumbs up and thumbs down history |

| Images | DALL-E generations and uploaded files, when present |

On a heavy account conversations.json runs from 40 MB to several hundred megabytes.

Why the download alone is not enough

The archive is complete and unusable in equal measure. conversations.json stores each conversation as a tree of message nodes linked by parent and child references, because ChatGPT supports editing prompts and regenerating responses, which branches the thread. The conversation you saw is one path through that tree.

Open it in a text editor and you see a dense single-line structure. Dump it naively with a script and you get duplicated messages from branches you abandoned, wrong ordering, and heaps of internal metadata.

chat.html is the concession to readability, and it is a weak one. It is monolithic, so a large history becomes one page your browser labours over. You cannot extract a single conversation. You cannot feed it into any other tool.

Making the download usable

ChatExports reads conversations.json, walks each tree along its active path, and writes out per-conversation files:

Everything runs in your browser. The archive is read from disk and written back out as downloads, never transmitted.

Making it a habit

An export is a snapshot with no ongoing sync. Set a recurring reminder, quarterly for most people, monthly for heavy use. Always export before deleting conversations, changing plans, or leaving an organisation, since none of those are reversible.

Store the converted files somewhere that has its own backup, not only on the machine that produced them. Markdown or plain text are the safest long-term formats, since they remain readable regardless of what software exists in twenty years.

Frequently asked questions

Can I download only recent history?

OpenAI's export is all-or-nothing. Once you have it, a converter lets you filter by date and export only the range you want.

Does the download include deleted conversations?

No. The archive contains only what exists in your account at the moment it is generated.

How big is a typical ChatGPT history download?

From a few megabytes for light use to several hundred megabytes for heavy accounts with images. The JSON itself is usually the largest text component.

Can I download my history from the mobile app?

You can request the export from mobile, but download and convert on a desktop. Mobile browsers handle large archive files poorly.

Related guides