Feature request: Native Markdown export for ChatGPT conversations

Feature request: Native Markdown export for ChatGPT conversations

Please add an “Export as Markdown” option to ChatGPT on the web and in the desktop app.

Long conversations can contain valuable headings, lists, code blocks, tables, links, citations, and attachments. At present, preserving these reliably may require creating a shared link, saving a Safari WebArchive, and using a custom parser to recover the embedded conversation data.

I tested this with a 640-turn conversation and ultimately built a local batch converter. The underlying content is already stored in a structured form suitable for Markdown export, so a native export function could provide a much safer and simpler experience.

Ideally, it would support:

  • One conversation or an entire selected set

  • Clean Markdown with user/assistant roles

  • Preserved headings, lists, tables, code blocks, and links

  • Citation URLs and attachment references

  • No requirement to make the conversation accessible through a shared link

  • An optional ZIP containing Markdown and associated media

This would be especially valuable for researchers, developers, writers, and anyone maintaining a durable personal knowledge archive.

I built and tested a small proof-of-concept converter while investigating this request (actually ChatGPT-Solaris built it).

It processes Safari WebArchives saved from ChatGPT Share pages entirely offline and converts them to Markdown. The source archives are opened read-only, and the converter preserves headings, lists, fenced code blocks, tables, ordinary links, speaker order, and recoverable citation links.

The important technical finding is that the Share page contains a structured serialized conversation in its main HTML resource. The converter does not scrape whichever messages happen to be rendered on screen; it reads that embedded conversation structure, selects the visible user messages and completed assistant responses, and verifies the final message against the recorded conversation endpoint.

I tested it on five conversations ranging from 4 to 640 visible turns. All five converted successfully with correct user/assistant alternation and matching final endpoints.

I would be happy to provide the inspectable source or the packaged macOS drag-and-drop proof of concept if it would be useful to the team. I would not include any private conversation archives or extracted user content.

There’s definitely a real need for this, especially with very long conversations. Loading the full history in the web UI can become slow, and keeping a local copy is one practical way around that limitation.

Markdown works well for further processing, but I don’t find it particularly friendly for reading and revisiting long conversations.

So I built a Chrome extension called OutlineSave that takes a different approach: you can add highlights and notes, then export the conversation as a standalone HTML page while preserving formulas, Mermaid diagrams, code highlighting, formatting, annotations, and the outline.

The result is a local, searchable copy that’s much easier to navigate and reuse later.

The screenshot below is an actual Offline HTML page exported with OutlineSave. It might be useful for the workflow you described.