About this tool
Both ChatGPT and Claude let you request a copy of your data, and what arrives is a zip with a conversations.json inside — a wall of JSON rather than something you can read. This page opens that file. Drop the whole zip (preferred), the extracted conversations.json, or the extracted folder, and the source is detected automatically. The left column lists every conversation with its title, last update and message count, sortable by time and filterable by title; the right column shows the one you pick, with your messages and the assistant's told apart, timestamps in your local time zone, and code blocks in a monospace font with a copy button. Large exports are read as a stream inside a Web Worker, one conversation at a time, so the page stays responsive and the progress bar reflects bytes read rather than a guess.
What it reads — and what it does not recognise
Neither ChatGPT nor Claude publishes its export format. What this page understands was assumed from public descriptions of those files, and it may change with any update on their side. So the rule is that nothing unrecognised is dropped: a message part whose content type the page does not know is shown as an “unsupported content” placeholder with a button to view the raw JSON, and a coverage card at the top counts them — “N messages, M containing content types we do not recognise”, listed by type — so you can see exactly what was missed. Known auxiliary content such as reasoning, tool calls and their results, code-execution output or browsing citations is shown collapsed or dimmed and is not counted as unknown. If the file is not a list of conversations from either source at all, the page says so and shows the first 500 characters instead of guessing.
Edited and regenerated branches
When you edited a question or asked for another answer, the export keeps every version as a branch of the same conversation. Wherever a message has more than one version, a “version 2/3” switcher appears on it; the branch the export marks as current is shown by default, and the newest one when there is no such mark. The official interfaces make you click through arrows one message at a time — here each version is a click away, and the export tells you how many there are.
Search and statistics
Search builds a plain-text index of every message inside the worker — lower-cased and NFKC-normalised, matched as a substring, so Chinese and Japanese work without word segmentation. Results are grouped by conversation with a snippet of context, and clicking one jumps to that message and highlights it. The statistics view counts conversations and messages, charts messages per month, lists the ten longest conversations and, when the export records which model answered, the models you used most. None of this leaves the tab: the index lives in the worker's memory and is discarded with the page.
Saving as Markdown
Any conversation can be saved as a .md file, or the whole archive as one zip with a file per conversation named YYYY-MM-DD-title.md — titles are cleaned so the names are valid on Windows — and attachments copied into an assets/ folder with relative links. By default only the branch you are looking at is exported; tick “include all branches” and the others are appended as ## Branch k of n sections. The Markdown is plain text with no HTML, and its footer notes that it was converted from an export without modification, together with the SHA-256 of the original file, so a copy can be checked against the export it came from.
What it cannot see
The viewer only knows what the export contains. Deleted conversations, conversations someone shared with you and some intermediate results of tool calls are usually not in the file, so they are not here either. Image and file attachments appear only when you give the whole zip or the extracted folder; with conversations.json alone, each attachment is marked as not included in this file. Everything is held in this tab's memory and gone when you close it — nothing is uploaded, nothing is stored, and the page has no server to send anything to. ChatGPT and Claude are trademarks of their respective owners; this is an independent viewer for the files they export, not an official tool.