Skip to the content.

How to turn your ChatGPT or Claude data export into a searchable offline archive

Years of conversations with ChatGPT or Claude end up holding drafts, code, research and decisions you’ll want again. The chat apps’ own search is limited, conversations get deleted, and accounts get closed. Both OpenAI and Anthropic let you download everything, but what you get is a ZIP with a very large JSON file that no one can read comfortably.

This guide covers:

  1. Getting your export
  2. What’s actually inside the ZIP
  3. Turning it into Markdown files (free)
  4. Making it searchable offline
  5. Keeping it safe and up to date

Everything here works on your own computer. You never need to upload your export to a website.

1. Get your export

ChatGPT: open Settings → Data controls → Export data and confirm. OpenAI emails you a download link when the file is ready; this can take from minutes to a few hours for large histories. The link expires, so download it soon.

Claude: open Settings → Privacy → Export data. Anthropic emails you a download link.

Save the ZIP somewhere private. It contains your full chat history. Large ChatGPT exports can arrive as several files named …-part-0001.zip, …-part-0002.zip: the first holds the conversations and the others hold more images. Keep them together in one folder.

2. What’s inside the export

ChatGPT export (key files):

File What it holds
conversations.json, or in newer exports conversations-000.json, conversations-001.json, … every conversation, as JSON lists
chat.html all chats on one long page. It’s readable, but it has no search box or filters, and large histories can be slow to open
file-… / file_….dat files pictures you uploaded or generated, referenced from the conversations
user.json, message_feedback.json, … account details and feedback

Each ChatGPT conversation is stored as a tree, not a list. When you edit a message or regenerate an answer, ChatGPT keeps both versions as branches. current_node marks the last message of the branch you were looking at. Walk back from it through each parent to recover the conversation as you saw it. A naive converter that prints every node shows edited and regenerated messages twice.

Claude export:

File What it holds
conversations.json a list of conversations; each has chat_messages with sender (human/assistant), text and content blocks
projects.json your Projects and their names
users.json account details

Claude messages can include “thinking” blocks, tool calls and attachments. For attachments, the export includes the extracted text, but not the original files.

Look at it yourself

If you’re comfortable with Python, a few lines list your ChatGPT conversation titles by date:

import json, zipfile, datetime
with zipfile.ZipFile("chatgpt-export.zip") as z:
    conversations = json.loads(z.read("conversations.json"))
for c in sorted(conversations, key=lambda c: c.get("create_time") or 0):
    when = datetime.datetime.fromtimestamp(c.get("create_time") or 0)
    print(when.date(), c.get("title"))

For Claude, use c["name"] and c["created_at"] instead.

3. Convert it to Markdown (free)

Markdown is the most future-proof format for this: plain text files that any editor, Obsidian, VS Code or a search tool can open, now or in twenty years.

The free, open-source converter chatgpt-claude-export-to-markdown does this for both providers:

pip install git+https://github.com/samvsnvsn/chatgpt-claude-export-to-markdown
chat-export chatgpt-export.zip -o my-chats
chat-export claude-export.zip -o my-claude-chats

You get:

Markdown output (demo data)

Use --since 2025-01-01 to convert only recent conversations, for example to add new months to an existing archive.

4. Make it searchable

With a folder of Markdown files you have several good options:

If you’d rather have a single file you can double-click, with a search box and filters and no editor, you need an HTML viewer. The Pro version of the converter builds one (archive.html) in the same run, along with the Markdown files and a conversations.csv index for Excel. It’s a ready-to-run Windows app, so there’s nothing to install. It costs $9 and supports the free project; the free version above stays fully usable without it.

Offline archive.html: searching for "invoice" (demo data)

5. Keep it private and current


Not affiliated with OpenAI or Anthropic. ChatGPT and Claude are trademarks of their respective owners. Screenshots use made-up demo conversations.