Bulk download ChatGPT conversations

Request your ChatGPT data export, then convert conversations.json in one operation. ChatExports writes one file per conversation, named from its title, for thousands of conversations at a time in Word, PDF, Markdown, CSV, or text, all processed in your browser.

Short answer

Request your ChatGPT data export, then convert conversations.json in one operation. ChatExports writes one file per conversation, named from its title, for thousands of conversations at a time in Word, PDF, Markdown, CSV, or text, all processed in your browser.

Step by step

  1. Export from ChatGPT: Settings, then Data Controls, then Export Data. Confirm the email and download the ZIP within 24 hours before the link expires.
  2. Load the whole archive: Drop the ZIP onto ChatExports. It reads conversations.json and lists every conversation with dates and message counts.
  3. Select all: Use select all, or filter by date range or keyword first if you only want part of the history.
  4. Download in one pass: Pick a format and start. Each conversation is written as its own file, so a 2,000 chat archive produces 2,000 documents.

Bulk is where every browser extension gives up. Extensions read the conversation currently on screen, which means one chat per visit and a click for every thread you own. At a few hundred conversations that is an afternoon; at a few thousand it is not happening.

The archive already contains everything

Your ChatGPT export is a single conversations.json with the complete history of the account, including chats you have not opened in a year. Nothing needs to be crawled, because there is nothing to crawl. The whole job is turning one large JSON file into many readable files.

What one pass produces

That last point is the reason naive bulk tools produce duplicates. ChatGPT stores each conversation as a tree of message nodes, and the readable version is the active path through that tree. Dumping every node instead gives you every abandoned draft interleaved with the real one.

Filtering before you download

Whole-archive exports are often not what people actually want. Useful subsets:

| Filter | Use case |

| --- | --- |

| Date range | A quarter of work, a specific project window |

| Keyword | Everything mentioning a client, repo, or topic |

| Longest chats | The threads with real substance in them |

| Recent 90 days | A working backup rather than an archive |

Format choice at scale

Word and PDF give you one document per conversation, which suits archiving and sharing. CSV behaves differently and is worth knowing about: it produces a single spreadsheet with a row per message, which is the fastest way to search or analyse thousands of conversations at once, and pairs well with a Word or PDF pass for the ones that matter.

Size and speed

Large archives parse locally, so speed depends on your machine rather than a server queue. A 300MB archive with several thousand conversations takes seconds to parse and then writes files as fast as the browser allows. Nothing is uploaded, which also means no file size limit imposed by an upload endpoint.

Start at the converter.

Frequently asked questions

Is there a limit on how many conversations convert at once?

No fixed limit. Archives with several thousand conversations convert in a single pass; the browser handles them in memory.

Can I get one combined file instead of many?

Yes. CSV produces a single spreadsheet with a row per message, and text can be concatenated, while Word and PDF write one document per conversation.

Do I need an extension for bulk?

No, and extensions are the wrong tool here because they can only read the conversation currently open in the tab.

Are archived chats included?

Yes. Archived conversations are in the export. Only deleted ones are missing.

Related guides