DEV Community

pickuma
pickuma

Posted on • Originally published at pickuma.com

ChatGPT Exporter: Save Conversations to Word, PDF, and Markdown Locally

ChatGPT has a built-in export option buried in Settings → Data Controls. You request it, wait up to a week for an email, then receive a ZIP containing a conversations.json and a chat.html you can open in any browser. That file is a complete dump of your account history — not a single conversation, not a clean PDF, and not anything you can hand to a colleague or paste into a report. If you want a formatted export of a specific thread, that official path does not help you.

The gap has produced a small ecosystem of Chrome extensions and standalone tools that sit on top of the ChatGPT interface and add an export button to individual conversations. The quality, format support, and privacy posture vary enough that picking one blindly is a mistake. This article covers what to look for, which tools can be verified as of mid-2026, and where each one has real limitations.

What makes a ChatGPT export actually usable

The naive version of a chat exporter just screenshots the page or dumps raw DOM text. What separates a usable export from that:

Format fidelity. A ChatGPT conversation often contains code blocks with syntax highlighting, LaTeX math, tables, and now things like canvas elements or reasoning traces from thinking models. A PDF that turns your code block into a wall of monospace text without language labels is technically correct but annoying to read. Word output that loses table borders is similar. The best tools render these elements properly rather than treating them as generic text.

Selective export. Long research threads can run to hundreds of messages. Most tools now let you check specific messages or date ranges before exporting, rather than forcing an all-or-nothing download. That is genuinely useful when you want to share just the relevant section of a troubleshooting conversation.

Format breadth. PDF is the most-requested output because it is universally readable. Markdown is the most developer-friendly because it survives copy-paste into Obsidian, Notion, or a documentation repo without reformatting. Word (.docx) is what people want when the output is going into a report or a shared document someone else will edit. JSON is useful for programmatic re-processing. The best tools offer at least three of these.

Local-first processing. This is where it gets complicated, and it matters more than most users realize.

When you export a ChatGPT conversation through a third-party extension, you are potentially sending the full text of that conversation to an external server. That includes any code, credentials, internal processes, or personally identifiable information present in the thread. Every tool in this space claims to handle data responsibly, but claims and architecture are different things. For Markdown, TXT, and JSON formats, most extensions process entirely in the browser — no data leaves your machine. For PDF generation specifically, several tools temporarily offload rendering to their own servers because browser-native PDF output has real formatting limitations. Confirm which path applies before exporting sensitive conversations.

The verified extension options

ChatGPT Exporter (Chrome Web Store, ilmdofdhpnhffldihboadndccenlnfll) is the most widely installed option at the time of writing, with over 100,000 active users and a 4.8-star rating across roughly 1,600 reviews. It exports to PDF, Markdown, Text, CSV, and JSON, with configurable options for font, margins, dark/light mode, table of contents, timestamps, and page numbers. The extension handles code blocks, formulas, tables, and canvas elements. It also exports reasoning traces from thinking models and Deep Research reports with citations — which most competitors do not do.

The pricing model is tiered: Markdown, Text, JSON, and CSV are permanently free. PDF export is free for three downloads per day; beyond that, additional exports require payment. The developer's stated policy is that PDF exports are temporarily processed server-side and then deleted, while all other formats run in-browser. That server-side step for PDFs is a real distinction you should factor in for sensitive conversations.

ChatCache (getchatcache.com) positions itself as fully free with no paywalls. It supports eight formats: PDF, Word, Markdown, HTML, TXT, JSON, CSV, and PNG. The extension adds a hover menu with per-message checkboxes and an outline navigation panel for long conversations. Its stated architecture is identical to ChatGPT Exporter's: Markdown, HTML, TXT, DOCX, JSON, CSV, and PNG are browser-local; PDF generation uses a server-side API call with no data retained after processing. The site explicitly states no analytics and no trackers are used. ChatCache also handles very long conversations without truncation, which matters if you have threads that approach the context limits of recent models.

AI Exporter (kagjkiiecagemklhmhkabbalfpbianbe) takes a broader approach: it supports exports from ten-plus platforms including ChatGPT, Claude, Gemini, DeepSeek, Perplexity, and Copilot. Formats include PDF with LaTeX rendering, Word, Markdown, JSON, TXT, and Image. It also supports syncing to Notion as a target. Ratings are 4.8 stars from around 1,000 reviews, with 100,000+ active users. One notable difference from the others: the Chrome Web Store listing states the extension collects "personally identifiable information" and "user activity" data, which the developer says is not sold but is used per their stated purposes. Whether that is acceptable depends on what you are exporting and your tolerance for that kind of data collection.

ChatGPT to Word or PDF (mjdmggegbkookpcmbdllcnbfboikcbop) is a simpler option focused specifically on those two formats. Fewer bells and whistles, but straightforward to use if Word or PDF is all you need.

When a browser extension is not the right tool

Extensions work well for individual conversations. They break down when your use case is archival at scale — pulling down hundreds or thousands of past conversations, keeping them updated as you add to them, or integrating the output into a knowledge management system.

For that use case, ChatKeeper takes a different approach entirely. Rather than hooking into the ChatGPT interface, it processes the official ZIP export that OpenAI provides (the one from Settings → Data Controls). It converts those JSON files into local Markdown with proper YAML front matter, numbered headings, timestamp preservation, and image inclusion. The key differentiator is that it can update previously exported conversations in place — if you rename or reorganize files locally and then export again, ChatKeeper finds the matching conversation and updates it without creating duplicates. It runs entirely offline with no network access.

ChatKeeper uses a one-time purchase model: the free tier supports 30 conversations; a lifetime license was listed at $29.99 at the time of research. It targets users who want their ChatGPT history integrated into tools like Obsidian rather than users who need a one-off PDF of today's debugging session.

Format considerations for developers

If you are piping conversation output into a documentation workflow or a knowledge base, Markdown is the format to choose. Every extension that produces Markdown should preserve code fences with language tags, but verify this manually with a test export before committing to a workflow — some tools collapse multi-paragraph code blocks or lose the language identifier. LaTeX math in Markdown is another inconsistency: some exporters produce raw LaTeX strings; others render them as images or MathML depending on your downstream renderer.

For Word output, the main consideration is whether tables survive as actual table elements or get flattened to text. If the conversation includes a comparison table you want to edit, test this before assuming.

JSON is worth knowing about even if you do not immediately need it. Most extensions that export JSON produce a structured representation of the conversation that is easy to parse — each message with its role, content, and timestamp. If you later want to build something on top of your chat history (a personal search index, an Obsidian plugin, a custom formatter), having the raw JSON is much more flexible than having a PDF.


Originally published at pickuma.com. Subscribe to the RSS or follow @pickuma.bsky.social for new reviews.

Top comments (0)