ChatGPT History ViewerSearch chats and export to Markdown

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.

Your input is never sent anywhere.

Details

Drop 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

  1. In ChatGPT, open Settings > Data controls > Export data
  2. Download the ZIP file from the link in the email you receive
  3. 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

  1. In ChatGPT, open Settings > Data controls > Export data, then download the ZIP from the email link.
  2. Unzip the file and drag conversations.json into the box above, or click the box to choose it.
  3. When the list appears, type a keyword or open Filters to set a date range and sort order.
  4. 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 nameWhat it holdsWorks in this viewer
conversations.jsonYour chat history, including message text and timestampsYes
chat.htmlA page for viewing your history in a browserNo
user.jsonAccount profile informationNo
message_feedback.jsonMessages you rated with a thumbs up or downNo
shared_conversations.jsonChats you shared by linkNo

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▼
Look for the file named conversations.json and choose that one. If you have several similarly named files, check the extension and the name before you load it.

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▼
Download a chat as Markdown as soon as you find it, or download everything currently shown as one file. Loaded data is cleared when the tab is closed or reloaded.

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▼
Before you use any viewer, check whether it uploads the file. This one reads the file in your browser and doesn't send it to our servers.

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▼
Nothing has been removed from your file. The export keeps each version as a branch, and the viewer shows only the branch that was active when you exported. This viewer doesn't display the other branches.

ChatGPT History Export: Common Questions

Q.How do I get my ChatGPT conversations.json file?

Q.

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?

Q.

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?

Q.

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?

Q.

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?

Q.

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?

Q.

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?

Q.

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?

Q.

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?

Q.

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?

Q.

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.

User Feedback & Request

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.

Send feedback