Load the conversations.json from your ChatGPT data export, then search every chat, filter by date, and download conversations as Markdown. The file is read in your browser and isn't uploaded.
This tool runs entirely in your browser. What you enter is never sent anywhere.Your input is never sent anywhere.
DetailsDrop conversations.json here, or click to choose a file
The file is read in your browser and isn't uploaded. If your export has more than one conversations file, you can select them all at once.
How to get your conversations.json
- In ChatGPT, open Settings > Data controls > Export data
- Download the ZIP file from the link in the email you receive
- Unzip it and drop the conversations.json file into the box above
Unofficial tool. ChatGPT is a trademark of OpenAI, and this site is not affiliated with or endorsed by OpenAI.
How to Open and Read Your ChatGPT conversations.json
After months of using ChatGPT, you run into a few familiar problems: you can't remember how you worded a prompt, or you want to look back over old chats in one place. ChatGPT lets you export your data, but the conversations.json inside the ZIP is a raw data file that is hard to read in a text editor.
This viewer loads that file and gives you a chat list, keyword search, a date filter, and Markdown download. Everything happens in your browser, and the file isn't uploaded, so you can review chats that contain work or personal details without sending them to a third-party server.
If you're planning to switch assistants, you can download the chats you want to keep as Markdown and paste them wherever you need them.
When a Local Chat Viewer Helps
Finding a prompt you used before
Search for a word you remember from the prompt, and the list narrows to chats that contain it. The excerpt under each title shows the first matching passage.
Saving chats before you switch assistants
Download the chats you want to keep as Markdown. You can paste them into another assistant as background or file them in your notes or team wiki.
Reviewing work chats on a shared or public computer
Because the file is read in your browser and isn't uploaded, you don't have to hand your chat text to another online service just to read it. Clear the data when you're done.
Looking back at how much you've used ChatGPT
After loading, you see your chat count, total messages, your first and latest chat dates, and a chart of chats per month.
Load Your Export in 4 Steps
- In ChatGPT, open Settings > Data controls > Export data, then download the ZIP from the email link.
- Unzip the file and drag conversations.json into the box above, or click the box to choose it.
- When the list appears, type a keyword or open Filters to set a date range and sort order.
- Click a chat to read it, then use Copy Markdown or Download .md. You can also download everything currently shown as one file.
Note: Reading, searching, and converting to Markdown all happen in your browser. The file isn't uploaded.
What the Viewer Shows, and What It Skips
- Supported file: only conversations.json from the export ZIP. Other files with similar names, such as chat.html and user.json, can't be loaded.
- Your data: loaded chats stay in your browser's memory. Closing or reloading the tab clears them, so download any chat you want to keep first.
- Branches: if you regenerated a reply or edited a message, only the active branch is shown. If a conversation has no current_node, its messages are listed in time order instead.
- Text only: images, attachments, and other non-text parts aren't shown or exported. System messages and empty messages are skipped.
- Dates: dates and times appear in your device's time zone. The date filter and Sort by options use each chat's creation date, not its last update.
- Format changes: the viewer depends on how conversations.json is structured today. If the structure changes, some chats may not parse correctly.
What's Inside the ChatGPT Export ZIP
The unzipped folder contains several files. This viewer reads only conversations.json.
| File name | What it holds | Works in this viewer |
|---|---|---|
| conversations.json | Your chat history, including message text and timestamps | Yes |
| chat.html | A page for viewing your history in a browser | No |
| user.json | Account profile information | No |
| message_feedback.json | Messages you rated with a thumbs up or down | No |
| shared_conversations.json | Chats you shared by link | No |
Note: this list reflects the export as of when the viewer was built. File names and contents can change if OpenAI changes the export.
Inside conversations.json: Branches, mapping, and current_node
A short look at how the export stores your chats, and why a viewer helps once your history grows.
Why the raw file is hard to read
Each chat is stored as a tree of messages, not a simple top-to-bottom list. When you regenerate a reply, the earlier version stays in the file as a separate branch.
Open the file in a text editor and you'll see nested IDs and parent links, so it's hard to tell which messages belong to the thread you actually saw. The viewer starts at the chat's current_node and follows the parent links back to the first message, which gives you the active thread in order.
Finding things in a long history
Once you have hundreds of chats, scrolling doesn't scale. Loading the export into a viewer lets you search across every title and message at once and narrow the list by date, using a file on your own device.
Keeping a copy that outlives the export format
Prompt templates and instructions you reuse are worth keeping. Downloading them as Markdown gives you plain text files you can open in any editor, paste into another assistant, or store in a notes app.
Treat the export format as changeable
The viewer relies on fields such as mapping and current_node as they appear in exports today. If the structure changes, the viewer may need an update.
If you get a loading error, a format change is one possible cause. For chats you can't afford to lose, download Markdown copies so you aren't tied to the export structure.
Common Problems Loading an Export
You picked the wrong file from the ZIP
The unzipped folder holds chat.html, user.json, and other files, and it's easy to pick one of them by mistake. The viewer then shows an error and won't continue.
💡 See the solution▼
You closed the tab before downloading the chats you found
You filtered down to the right chats, closed the tab, and now have to load the file and search again.
💡 See the solution▼
You opened a private chat history in a tool that uploads files
Some online converters send your file to their server for processing. If your history includes work or personal details, that is a risk you may not want to take.
💡 See the solution▼
A reply you remember doesn't appear
You regenerated a reply in ChatGPT and the version you remember isn't in the viewer, so it looks like data was lost.
💡 See the solution▼
ChatGPT History Export: Common Questions
Q.How do I get my ChatGPT conversations.json file?
A. In ChatGPT, open Settings, go to Data controls, and choose Export data. ChatGPT emails you a download link. Download the ZIP, unzip it, and you'll find conversations.json along with other files such as chat.html and user.json. Load only conversations.json into this viewer.
Q.Is my chat history uploaded anywhere?
A. No. The file is read and processed by your browser, and its contents aren't sent to our servers or saved. Searching, filtering, and the Markdown conversion all happen in your browser's memory, and closing or reloading the tab clears the loaded data.
Q.What happens if I choose chat.html instead of conversations.json?
A. The viewer can't read it and shows an error. chat.html is a page meant to be opened in a browser. In the unzipped folder, pick the file named conversations.json. Files with similar names, such as user.json and message_feedback.json, sit in the same folder, so check the name before you load it.
Q.Can I load more than one file at once?
A. Yes. Select several .json files together and the viewer merges them into one list. If the same conversation ID appears in more than one file, the version from the later file is kept.
Q.How does the search work?
A. Type a word or phrase and the list narrows to chats whose title or message text contains it. The match ignores upper and lower case and looks for your exact text anywhere in a word or sentence. It isn't a fuzzy or whole-word search. You can combine it with a date range, which is based on when each chat was created.
Q.Can I open a very large export?
A. The whole file is read into your browser's memory before it's parsed, so a large export takes longer and depends on your device's available memory. Keep the tab open while it loads. If it fails on a phone or an older computer, try a desktop browser.
Q.Why don't I see images or file attachments?
A. The viewer keeps only the plain text of each message. Images, uploaded files, and other non-text parts aren't shown and aren't included in the Markdown you download. Messages with no text and system messages are skipped.
Q.Why is a reply I remember missing from a chat?
A. When you regenerate a reply or edit a message, ChatGPT keeps the other versions as branches inside the file. The viewer shows the branch that was active when you exported, so replies from other branches don't appear. Nothing has been deleted from your file.
Q.Can I use the Markdown export to move chats to another AI service?
A. You can paste the text into another assistant or save it in a notes app or wiki. Each message is labeled You or Assistant and separated by a divider. You can download one chat, or download every chat currently shown in the list as a single file.
Q.Will this keep working if the export format changes?
A. The viewer reads the structure of conversations.json as it exists today. If the format changes, some chats may not display correctly or the file may be rejected. Download the chats you care about as Markdown so you have a copy that doesn't depend on the export format.
Your feedback
makes this tool better.
Tell us which features you'd like, what should be fixed, or which new tool you'd like to see. An engineer reads every submission and uses it to guide development.