What is in the export ZIP
OpenAI does not publish the layout of the export. The community-written specification we cite lists these files at the top of the ZIP (ChatGPT export specification (unofficial, community-written)):
| File | What it holds |
|---|---|
| conversations.json | Your chat history |
| chat.html | An offline viewer for the chats |
| user.json | Profile details |
| message_feedback.json | Thumbs up and down, and feedback text |
| shared_conversations.json | Details of chats you shared |
| file-* and image folders | Files you uploaded and images that were generated |
The same specification does not mention numbered files such as conversations-000.json. If your ZIP has them, Skillcase reads those too.
Why conversations.json is hard to read
The specification calls the file a graph structure and says it is not a linear list. Each chat has a mapping of messages, and an edited prompt or a regenerated answer starts a new branch. One field, current_node, marks the branch you see in ChatGPT; rebuilding the thread means walking back from it, message by message (ChatGPT export specification (unofficial, community-written)). The file is also big. A reader who said they were not a developer asked on 28 May 2025 how to get the text of an export with "millions of lines" into something readable (How can I extract all conversations from my ChatGPT .json export files (May 28, 2025)), and a thread on OpenAI's forum that opened in September 2023 asks how the mapping is structured; it has 24 posts and was last active in March 2026 (Decoding Exported Data by Parsing conversations.json and/or chat.html (September 29, 2023)).
Open your GPT chats in Skillcase
- Keep the ZIP as it is. Do not unzip it.
- Open Skillcase and, under "Your chats with the GPT", choose the ZIP.
- Skillcase reads only the conversations file inside it, on your device. It lists each custom GPT and project it finds with the number of chats and the dates.
- Pick a GPT, or tick several, and save their chats. Each chat becomes a Markdown file, with one all-chats.md and a chats.json. Skillcase follows the branch you saw in ChatGPT.
Skillcase saves the chats that were with a custom GPT or a project. Your ordinary chats are counted but not saved.
Read every chat instead
If the ZIP holds chat.html, double-click it. It should open in your browser and show the chats without anything to install. The specification calls it an offline viewer and we have not checked how it copes with a very large history. Saving one chat is harder than it was: a user wrote on 25 September 2026 that printing a long chat to PDF no longer captures all of it, because long chats now load in sections, which leaves the full export as the way to keep one old chat (Exporting one old chat now requires exporting my 300+ conversations (September 25, 2026)).
The file is missing or short
Ask for the export again under Settings, Data controls, Export data. OpenAI says the download link expires 24 hours after you get it, and that Business, Enterprise and Healthcare workspaces have no self-service export (Exporting your ChatGPT history and data); help.openai.com blocks automated reading, so we saw this page only through a search excerpt. One user wrote on 15 November 2024 that a new export began at 28 October and was 4 MB where an earlier one had been over 35 MB (Incomplete data export with conversations.json (November 15, 2024)), so compare the dates in the file with what you expect.
Pack your GPT before December 11
Paste your GPT's setup, add its knowledge files and your ChatGPT export, and download a backup you can open anywhere, a skill for Claude, Gemini and ChatGPT, and your chats as Markdown. Free, in your browser, and nothing is uploaded.
Questions
What is conversations.json?
The file in the ChatGPT data export that holds your chat history. It is JSON, a data format for programs, and each chat is stored as a tree of messages.
Can Skillcase open all my ChatGPT chats?
It saves the chats that were with a custom GPT or a project, as Markdown. Ordinary chats are counted in the summary but not saved.
Why is my export split into several files?
OpenAI does not publish the layout. If your ZIP has numbered files such as conversations-000.json, Skillcase reads them together.
How do I know which GPT a chat belongs to?
Each chat in the export carries a gizmo_id. For a GPT it is the part after /g/ in the GPT's link. See save your custom GPT chats.
Sources: convoviz: ChatGPT export specification (unofficial, community-written); OpenAI Help: Exporting your ChatGPT history and data; OpenAI Developer Community: Decoding Exported Data by Parsing conversations.json and/or chat.html (September 29, 2023); Hugging Face forum: How can I extract all conversations from my ChatGPT .json export files (May 28, 2025); OpenAI Developer Community: Incomplete data export with conversations.json (November 15, 2024); OpenAI Developer Community: Exporting one old chat now requires exporting my 300+ conversations (September 25, 2026). Last checked: October 28, 2026. Skillcase is an independent tool by Peak Apps Studio and is not affiliated with OpenAI, Anthropic, Google or Ollama.