Ownchats

ChatGPT data export explained: the ZIP and conversations.json

Reviewed .

The ChatGPT data export is an account snapshot packaged as a ZIP. It is useful when you want to inspect your history outside the chat interface, keep a private backup, or find a conversation to save in another format. It is not automatically a tidy document for every chat.

OpenAI documents the export request and download process, but does not promise a permanent public schema for every file inside. Treat filenames and fields as details of the archive you received. Preserve the original ZIP before experimenting with extracted copies.

Request and download your archive

  1. Sign in, open your profile menu, and select Settings.
  2. Select Data controls; under Export data, select Export, then Confirm export.
  3. Wait for the email or SMS. Delivery may take seven days; the link expires after 24 hours.
  4. Choose Download data export while signed in to the requesting account, then keep the ZIP locally.

Follow OpenAI's export help for eligibility and troubleshooting. Ask your workspace owner if the option is unavailable. An export cannot recover deleted chats.

Inspect what is actually inside the ZIP

Use your operating system's archive tool to list or extract the contents into a new folder. Do not rename the ZIP to .json: compression and JSON are different formats. If your system only previews the archive, extract it before trying to open a file in an editor.

Look for conversation JSON, commonly conversations.json or numbered parts such as conversations-000.json. Some archives also provide a readable HTML history file, often named chat.html. If present, open it locally and compare its content with the chats you need. The viewer linked below reads conversation JSON, not that HTML history.

Other entries can contain account information, sharing metadata, or associated files. OpenAI's sharing documentation identifies shared_conversations.json as personal-export metadata. That file describes shares; it is not the conversation transcript. Do not assume an attachment's contents are included merely because its name appears in a message.

Read conversations.json manually

JSON is structured text. Open a copy with a plain text editor and search for a recognizable conversation title or sentence. A formatting function in your editor can make nested objects easier to inspect. Avoid editing your only copy, and avoid uploading the whole archive just to make it readable.

In the ChatGPT structure supported by our viewer, a conversation can have title, create_time, update_time, mapping, and current_node fields. These descriptions come from the viewer's parser, rather than a guarantee from OpenAI that future exports will use the same shape.

The mapping holds message nodes keyed by IDs. Nodes can contain parent relationships and message objects. A message's author.role identifies its speaker, while content may contain text parts or other content types. Not every node has printable text: some are structural, hidden, or tool-related.

Conversations can branch after a prompt edit or regenerated answer. Reading every mapping entry in storage order may combine alternate answers into a transcript that never appeared on screen. When current_node is available, follow its parents back to the root and reverse that path to read the selected branch chronologically.

For technical extraction, collect strings only from supported text fields and report anything skipped. Do not turn an object into the literal text "[object Object]" or silently drop unfamiliar blocks. Timestamps, image pointers, and tool records need their own handling.

Use the free local viewer

  1. Open the chat export viewer and choose your ZIP, or an extracted conversation JSON file.
  2. Wait for reading and indexing, then search titles or messages and select a conversation.
  3. Review the preview and any notes about branches, skipped content, or unavailable attachments.
  4. Choose Download Markdown or Download HTML to save that conversation locally.

The viewer handles compatible ChatGPT and Claude exports. It supports conversation JSON parts inside ZIPs and reads files in the browser without uploading them. Closing or reloading the tab clears its in-memory copy; it does not delete your original download.

The limit is 256 MiB for the chosen file and conversation JSON inside a ZIP. A large archive may require more browser memory. If the ZIP is too large, try an extracted JSON part within the limit. The viewer omits reasoning and tool output, and cannot reconstruct missing attachments.

Choose an output after reading

Markdown is useful for notes; HTML is useful for local reading and browser printing. For an editable document, follow the Word guide. Keep the original archive beside your derived files so later checks have a reference.

Ownchats adds Pro archive search and bulk export, plus Word and PDF workflows. Free Word/PDF use is limited to five exports total; PDF uses the print dialog. The extension's product page currently shows a launch waitlist. The free web viewer already provides the individual Markdown and HTML route described above.