Don't stop here
Hand-picked guides our readers explore right after this one.
Master ChatGPT with advanced prompting techniques, mega-prompts, and proven frameworks
Read the guideResearch-grade prompts for Perplexity AI's search-powered responses
Read the guideChatGPT prompts for coding interview prep covering algorithms, system design, and behavioral questions
Read the guideOpenAI's data export exists for compliance, not for reading, which is why people who expected a tidy archive get a ZIP containing a conversations.json file that freezes their text editor. The first thing to know is that the ZIP usually also contains chat.html, and that file opens in any browser and displays your conversations in a readable form. Most people never notice it and go straight for the JSON. If you do need the JSON (for searching, scripting, or migrating into another tool) it is a single large array where each conversation stores its messages as a linked map rather than a simple ordered list, which is why a plain read looks like nonsense. Two more practical details catch people out: the download link in the export email expires (commonly cited around 24 hours), and the export arrives only after OpenAI finishes preparing it, which can take from minutes to a day. This page covers reading it, converting it, and what to do when the link has already expired.
The export ZIP contains conversations.json and no obvious way to read it
Opening the JSON freezes Notepad, TextEdit, or your browser
The text is one enormous line with no formatting
Conversations appear out of order or with duplicated branches
The download link in the export email no longer works
The export never arrives in your inbox
OpenAI provides the data in a machine-readable format to satisfy data-portability obligations. There is no built-in path to PDF or DOCX, which is why the raw file feels useless the moment you open it.
The archive typically includes chat.html alongside the JSON. That file renders your conversations in a browser and is what nearly everyone actually wants. It is easy to overlook when the JSON is the largest file in the folder.
Heavy ChatGPT users export files in the hundreds of megabytes. Notepad and TextEdit load the whole file into memory and stall. This is a tooling problem, not a corrupted download.
Each conversation holds a mapping of message nodes with parent and child references, because regenerated responses create branches. Reading it top to bottom does not give you conversation order, which is why it looks scrambled.
The link emailed to you is time-limited, commonly around 24 hours. If you download it late, or the email lands in spam and you find it days later, the link is dead and you must request a new export.
When to try: First, before touching the JSON at all
Unzip the export and find chat.html. Double click it, or drag it into Chrome, Edge, Safari, or Firefox. Your conversations render as readable text. This solves the problem for most people in under a minute and requires no tools.
When to try: If you need to search or extract the raw data
If you need the JSON itself, open it in VS Code, Sublime Text, or Notepad++ rather than a basic text editor. These handle large files and let you fold, format, and search. In VS Code, use Format Document (Shift+Alt+F) to make the structure readable.
When to try: When you want an archive to keep or share
With chat.html open in the browser, press Ctrl+P (Cmd+P on Mac) and choose 'Save as PDF' as the destination. That gives you a portable archive of everything. For a single conversation, print just that section or use the browser's reader view first.
When to try: When you are looking for one specific chat
Open the folder in VS Code and use search across files (Ctrl+Shift+F) to find the conversation you need by a phrase you remember. This is far faster than scrolling, and it works on both the JSON and the HTML.
When to try: When you need a few chats, not the whole history
If you only want two or three conversations, skip the export entirely. Open each chat, use the share or copy option, and paste into a document. For a handful of conversations this is faster than any conversion workflow.
When to try: If the download link no longer works
In ChatGPT, go to Settings, then Data controls, then Export data, and confirm. The link is emailed to your account address and is time-limited, so download it as soon as it arrives. Check your spam folder, since export emails frequently land there.
When to try: For migrations or bulk processing
If you need Markdown, CSV, or per-conversation files, run the JSON through a converter or a short script. Community tools exist for this, and any code assistant can write a parser given the file's shape. Review anything you upload to a third-party service first, since exports contain everything you have ever typed.
When to try: Immediately after downloading
The archive contains your full conversation history, including anything personal or work-confidential you pasted into a chat. Keep it in encrypted storage rather than a Downloads folder, and do not upload it to unvetted online JSON viewers.
Download the export within a few hours, since the link is time-limited
Open chat.html first, before assuming the export is unusable
Export periodically rather than only when you need something urgently
Treat the archive as sensitive data and store it encrypted
Contact OpenAI support through help.openai.com if the export email never arrives after 24 hours (check spam first), if the ZIP is corrupt or will not extract, or if conversations you know exist are missing from the archive. Include your account email and the date you requested the export. An unreadable JSON file is not a support issue, it is the intended format.
Unzip it and open chat.html in any browser. That file renders your conversations in readable form and is included in the archive alongside conversations.json. Most people miss it and try to read the JSON, which is meant for machines rather than people.
Each conversation stores its messages as a mapping of nodes with parent and child links rather than a simple ordered list, because regenerating a response creates a branch. Reading the file top to bottom therefore does not follow conversation order. A code editor with formatting, or a converter, resolves it.
There is no official conversion. The practical route is to open chat.html in a browser and print to PDF, which takes seconds and needs no tools. For Markdown, CSV, or per-conversation files, run the JSON through a converter or a short parsing script.
Request a new one: Settings, then Data controls, then Export data. The link emailed to you is time-limited (commonly around 24 hours), so download it as soon as the email arrives, and check spam because these emails often land there.
No. The export reflects what is in your account at the time it is generated, so conversations you deleted are not included, and neither are Temporary Chats, which are never written to your history in the first place.
Product behavior and limits can change. These primary sources were used to verify this guide.