Export the currently opened ChatGPT conversation from the web UI to Markdown, JSON, TXT, or PDF.
- Floating, collapsible toolbar on the right side of the page.
- One-click export to:
Export MDExport JSONExport TXTExport PDF
- Built-in export settings (persisted in
localStorage):Include metadata(default: on)Expand citations(default: on)
- PDF export uses a hidden print frame. If printing is blocked, retry export.
- Local-only workflow: no upload to any server.
- Install Tampermonkey in your browser.
- Create a new userscript.
- Paste the content of
userscript/chatgpt-exporter.user.js. - Open a ChatGPT conversation (
https://chatgpt.com/c/...), then use the floating export toolbar.
- Open the target conversation page.
- Click the export button for the format you need.
- The script downloads the file directly in your browser.
- For PDF:
- If print opens normally, choose "Save as PDF".
- If print is blocked, run
Export PDFagain.
JSON export uses this shape:
{
"source": "chatgpt_web_dom",
"thread_url": "https://chatgpt.com/c/...",
"title": "Example",
"exported_at": "2026-03-26T20:15:00+08:00",
"messages": [
{
"id": "msg_1",
"role": "user",
"created_at": "2026-03-26T20:14:00+08:00",
"content_parts": [
{ "type": "markdown", "text": "Hello" }
],
"citations": [],
"attachments": []
}
]
}- If no parseable message nodes are found, the script shows an explicit warning instead of exporting incomplete content.
- DOM selectors may need updates after ChatGPT UI changes.