ChatGPT only lets you export your entire chat history as one giant JSON, So I built selective export!!

Disclosure: Some links in this article are affiliate links. AI Maestro may earn a commission if you make a purchase, at no…

By AI Maestro May 18, 2026 3 min read
ChatGPT only lets you export your entire chat history as one giant JSON, So I built selective export!!
<a href=ChatGPT only lets you export your entire chat history as one giant JSON, So I built selective export!!” src=”https://preview.redd.it/jx1ydyloku1h1.png?width=140&height=100&auto=webp&s=ce5101add5df2691b963b2fb394df659fcbc4d38″ title=”ChatGPT only lets you export your entire chat history as one giant JSON, So I built selective export!!” />

Last quarter I needed to back up about 40 specific ChatGPT conversations before deleting the rest of my history. Mostly client work I wanted to keep for reference outside ChatGPT. The kind of thing that should take 10 minutes.

It didn’t.

ChatGPT has exactly one native export option: Settings > Data Controls > Export data. What that gives you is a ZIP containing a single JSON file with every conversation you’ve ever had with ChatGPT. Not the 40 I wanted. All of them. In a format that’s machine-readable but unusable as actual document backup, because you can’t open it in anything human-friendly without writing a parser yourself.

There’s no per-chat export. No format choice. No way to pick subsets. The "Share" link feature is technically a thing, but a public URL is the opposite of a private backup.

So I built the missing piece.

ChatGPT Toolbox Bulk Export Feature

What does the bulk export actually do?

It’s part of the Manage Chats modal in a Chrome extension I ship called ChatGPT Toolbox (also runs on Edge, Brave, Opera, Arc). The same modal that handles bulk delete and archive handles bulk export. Open the modal, search or filter the chat list, tick checkboxes on what you want to back up, hit Export, pick a format. A ZIP downloads with each conversation as its own file inside.

Four formats are supported, depending on what you need the backup for:

  • TXT for plain unstructured backup. Tiny files, no formatting, opens in literally anything.
  • Markdown with ### User and ### ChatGPT headings between turns plus horizontal rules. Designed to paste into Notion, GitHub, or Obsidian without reformatting. This is what I personally use for client work I want to keep.
  • JSON as structured {role, content} objects with conversation metadata. For when you actually want machine-readable, not just human-readable.
  • PDF styled with color-coded role bars (blue for user, green for ChatGPT), title and export-date header, smart page breaks at line boundaries (never mid-text), and page numbers. Renders all languages because it uses browser-native text rendering, not embedded fonts. This is the one I underestimated when building it; turns out a real PDF is what people want when they’re showing a conversation to someone outside their team.

A few details from dogfooding

  • Live progress indicator showing "X/Y" as each conversation is processed. The first version just had a spinner and testers thought it had hung on big batches. Replaced with a real counter that ticks up per chat, and the complaints stopped.
  • Retry logic per chat with exponential backoff (3 retries before giving up on a specific chat). ChatGPT’s backend occasionally times out on long conversations and the first version would silently lose those. Now the failed chats are surfaced at the end so you know what to retry.
  • Only the active conversation path is exported. If you regenerated a response, the export contains the response you actually kept, not the abandoned branches. Same for internal tool calls (DALL-E prompts, etc.) which get stripped because they’re noise, not part of what you read.
  • Folder export if you’ve already organized chats into folders. The ZIP mirrors the folder hierarchy with subfolders preserved.
  • Project export from the sidebar three-dot menu on any ChatGPT Project. Same ZIP-of-conversations output, scoped to the project.

How does the workflow look?

Open the Manage Chats modal. Search to narrow down or just scroll. Tick checkboxes. Hit Export. Pick format (Text, Markdown, JSON, PDF). Progress counter ticks through them. ZIP downloads. Done.

For my 40-chat backup, end to end was about 90 seconds. Including the choosing-format step.

submitted by /u/Ok_Negotiation_2587
[link] [comments]


Originally published at reddit.com. Curated by AI Maestro.

Stay ahead of AI. Get the most important stories delivered to your inbox — no spam, no noise.

Name
Scroll to Top