ChatGPT Export Viewer
Open the data export you downloaded from ChatGPT or Claude, search your old conversations and save any of them as a document.
Loading ChatGPT Export Viewer… If nothing happens, please enable JavaScript.
ChatGPT lets you download everything you have ever typed into it, but the file it sends you is not meant for people. To get it, open ChatGPT, click your profile picture, go to Settings, then Data controls, and choose Export data. After you confirm, OpenAI emails you a download link (it stops working after 24 hours), and the link gives you a .zip file. Drop that zip on this page, or the conversations.json file inside it, and every conversation becomes a searchable list you can read like the original chat. Claude exports work too: request one from Settings, then Privacy, then Export data, and the tool recognises the format on its own.
Frequently asked questions
How do I export my ChatGPT data?
Are my conversations uploaded anywhere?
Why do some messages from my chats not appear?
Can it open a Claude export as well?
Will it handle a very large export?
How do I save a conversation as a PDF?
Can I export everything to Markdown at once?
What happens to images and uploaded files?
About ChatGPT Export Viewer
The zip holds a conversations.json file with the full history, a chat.html page, your account details in user.json, feedback you gave on answers, shared links, and any images or files you uploaded. The conversations file is the valuable part and also the awkward one. Each chat is stored as a tree of messages rather than a list, because every time you edited a prompt or regenerated an answer ChatGPT kept the old branch. This viewer walks the tree from the last message you saw back to the start, so you read the version that was on screen, without the abandoned edits. System prompts, tool calls, code interpreter output, browsing results and hidden reasoning are left out by default and can be switched back on with one checkbox. Search looks through titles and message text at once, and you can narrow the list by date.
Your chat history is probably the most personal file you own: health questions, work drafts, code from private repositories, things you would not type into a search engine. Uploading it to an online converter means trusting a stranger with all of it. Here the zip is opened and parsed in your own browser, the JSON is processed in a background worker so even a 100 MB export stays responsive, and no byte leaves the page. When you find a conversation worth keeping, download it as a Markdown file, save it as a PDF through the print dialog, or export all the conversations that match your search as a .zip of Markdown files, ready for Obsidian, a notes app or a Git repository.
Why a ChatGPT chat is stored as a tree
When OpenAI added the Export data button in April 2023, alongside the option to turn off chat history, it exposed the internal shape of a conversation more or less as the app uses it. A chat is not a list of messages: it is a mapping of message ids to nodes, and each node points to its parent and its children. The conversation also records a current_node, the last message you were looking at.
The tree exists because of two buttons. Editing one of your earlier prompts, or asking for a new answer, never overwrites anything; it adds a sibling branch next to the old one, which is why the app shows small arrows such as 2 / 3 to flip between versions. A long chat where you rephrased things a lot can hold dozens of branches that no single view of the conversation ever shows at once.
That is also why a naive reading of conversations.json produces nonsense, with answers to questions you later rewrote interleaved with the ones you kept. Following the parent links from current_node back to the root gives exactly the path the app would draw on screen. The chat.html file in the same export takes the same approach, rendering the conversations with a small script instead of shipping plain text.