Memory

Export ChatGPT Conversations: How to Do It and What You Get

Valta · · 6 min read

To export your ChatGPT conversations, open Settings, go to Data controls, and choose Export data. ChatGPT emails you a link to a zip file with your full chat history, and that link expires 24 hours after you get it. For a single chat, a share link or a copied summary is faster than a full export.

The harder part is what comes next. A full export is a large archive that’s hard to reuse as is. This guide covers both: getting the file, then pulling out the parts worth keeping.

How do you export all your ChatGPT conversations?

The steps, per OpenAI’s help article on exporting your data:

  1. In ChatGPT, open your profile menu and select Settings.
  2. Go to Data controls.
  3. Under Export data, select Export, then Confirm export.
  4. Wait for the email (or text message, for phone-only accounts). It can take a while to arrive.
  5. Open the message and download the file while signed in to the same account.

Download it promptly. The link expires 24 hours after you receive it, and if it lapses you’ll need to request a new export.

If you use ChatGPT through a work or school workspace, the option may look different or be managed by your admin. Check with them before assuming it’s missing.

What’s inside a ChatGPT export?

The download is a zip file. These are the files you’ll actually open:

File What it is Good for
chat.html Every conversation in one page you open in a browser Reading and searching by eye
conversations.json Every conversation as structured data Scripts, conversion, backups
Other JSON files Account and settings data Rarely needed

chat.html is the easy one: open it, press Ctrl+F or Cmd+F, and find what you need. conversations.json holds the same chats as data. Each conversation stores its messages as a tree of nodes, because ChatGPT keeps branches when you edit a message or regenerate an answer. That’s why a quick copy and paste out of the JSON looks messy.

OpenAI doesn’t publish a formal spec for this file, so treat its structure as something that can change.

How do you export a single ChatGPT conversation?

You don’t need the full archive for one chat. The quick options:

Method What you get Best for
Copy the answer The text of one reply, with Markdown formatting Keeping a single answer
Share link A read-only link to the chat Showing someone else the thread
Ask for a summary A short Markdown note of decisions and facts Keeping what mattered, not the transcript
Full data export Every chat, as HTML and JSON Backups, bulk conversion

The summary route is underrated. Most chats are long because of back and forth, not because every line is worth saving. Ask something like:

Summarize this conversation as a Markdown note: a title, the decisions we made,
the facts I gave you, and open questions. Skip the back and forth.

That gives you a note you can reuse, at a fraction of the length. If you’re new to the format, Markdown for beginners covers the basics.

How do you turn a ChatGPT export into Markdown notes?

If you want the whole archive as readable files, a short script works. This Python sketch writes one Markdown file per conversation from conversations.json. It follows the main branch by message time, which is fine for most chats:

import json, re, pathlib

chats = json.load(open("conversations.json"))
out = pathlib.Path("chatgpt-notes"); out.mkdir(exist_ok=True)

for chat in chats:
    msgs = [n["message"] for n in chat["mapping"].values() if n.get("message")]
    msgs.sort(key=lambda m: m.get("create_time") or 0)
    lines = [f"# {chat.get('title') or 'Untitled'}", ""]
    for m in msgs:
        parts = m.get("content", {}).get("parts") or []
        text = "\n".join(p for p in parts if isinstance(p, str)).strip()
        if text and m["author"]["role"] in ("user", "assistant"):
            lines += [f"**{m['author']['role']}:**", "", text, ""]
    name = re.sub(r"[^a-z0-9]+", "-", (chat.get("title") or "untitled").lower()).strip("-")
    (out / f"{name or 'untitled'}.md").write_text("\n".join(lines))

Run it in the folder where you unzipped the export. Because the format isn’t documented, check a few output files against chat.html before you trust the rest. Open-source exporters exist too, if you’d rather not write code.

Should you keep every conversation?

Keep the archive, but turn only a small part of it into notes. A raw export holds every chat you’ve kept, and many of those are one-off questions. Dumping all of them into a notes app gives you a pile, not a knowledge base. When you later point an AI at it, the useful parts are buried, and long transcripts eat into its context window.

A better filter:

  • Keep as notes: decisions, research you’d otherwise redo, and prompts that worked.
  • Keep in the archive only: everything else, zipped, in case you need it.
  • Rewrite, don’t copy: turn a 60-message thread into a ten-line note with a clear title.

Small notes with clear titles are easier to search and link. Personal knowledge management with AI goes deeper on how to structure them.

Does exporting your chats affect ChatGPT memory?

No. Exporting copies your data out; it doesn’t delete or change anything in your account. ChatGPT’s memory works separately, and you manage it in its own settings. If your memory is the problem, not your history, see ChatGPT memory full. For how memory compares across assistants, see Claude memory vs ChatGPT memory.

How do you avoid needing exports in the future?

Exports are a rescue tool. They’re useful once, but you don’t want to repeat the cleanup every few months. The lasting fix is to save what matters while you’re still in the chat, to a place you control, in plain Markdown. If that place is reachable from more than one assistant, the note is useful in Claude as well. That’s the idea behind sharing memory between Claude and ChatGPT.

FAQ

How long does a ChatGPT export take?

It varies. OpenAI sends an email or text when the file is ready, and the download link stays valid for 24 hours after you receive it.

Can I export ChatGPT conversations to PDF?

Not directly from the export. You can open chat.html in a browser and print to PDF, or convert the Markdown files from a script.

Does the export include images and files I uploaded?

The export focuses on your conversations and account data. Check your own archive for what’s included, since the contents can change over time.

Can I import a ChatGPT export into Claude?

The practical route is to move only the parts you need. Upload selected notes or summaries to a Claude Project, or keep them somewhere both assistants can read.

Where Valta fits

Valta doesn’t import ChatGPT exports. What it does is make the next step easier. Connect ChatGPT to a Valta vault as a custom connector. When a conversation produces something worth keeping, ask ChatGPT to save it as a note. Valta stores it as Markdown and returns related notes so ChatGPT can add [[links]]. Claude and Cursor can connect to the same vault and read the note. You can also export any vault as a zip of Markdown files, on every plan.

The steps are in connecting Valta to Claude, ChatGPT and Cursor, and the Free plan is enough to start. Create an account.

One vault for every AI you use.

Start free

More in Memory

Free · Pro from $9/mo See pricing

Contact support

We reply by email, usually within one business day.