ChatGPT export to Markdown converter
Turn conversations.json from a ChatGPT data export into clean Markdown — the branch you last saw, without system prompts or tool traffic.
Input
Result
The result will appear here.ChatGPT's data export (Settings → Data controls → Export data) gives you a zip whose conversations.json holds every chat — but as a tree of message nodes, with every regenerated answer, edited question, hidden system message and tool call kept side by side. This tool reads that file and writes each conversation as Markdown you can keep in a notes app, a repository or a knowledge base. It follows the same path through the tree as pionxzh/chatgpt-exporter (MIT), the popular browser extension for exporting chats: from the message you last viewed back up to the start.
How it works
- For each conversation it walks from current_node through each message's parent, which gives the branch that was on screen when you left it; answers you regenerated and questions you edited away are counted but skipped.
- It drops what the ChatGPT interface never showed: system prompts, custom instructions and memory context, tool calls and their results, hidden messages, reasoning traces and citation markers.
- Replies split by "Continue generating" are joined back into one answer, images you uploaded are marked [image] and other attachments [attachment], and the Markdown inside answers — code blocks included — is kept as written.
- Each conversation becomes a document with its title, date and model, then ### You and ### ChatGPT sections; documents are separated by a horizontal rule, and a title filter narrows the export to matching chats.
Where your data goes
Nowhere. This tool runs entirely in your browser: the text you paste is processed by the page and is never transmitted to a server or written to a log.
This tool is free and needs no account. Its results exist only in your open page and are not saved anywhere.
What it costs
This tool is free, with no sign-in and no points.
Common questions
- Where do I find conversations.json?
- In ChatGPT, open Settings → Data controls → Export data and confirm. OpenAI emails a download link, usually within minutes and valid for 24 hours. Unzip the archive; conversations.json sits at its top level next to chat.html. Open it in a text editor and paste the whole content here.
- Is it safe to paste my whole chat history here?
- The conversion runs entirely in your browser: the JSON is parsed on this page, nothing is uploaded, and the tool keeps no history of what you convert. Even so, a chat history is personal, so close the tab when you are done on a shared computer.
- Why are some of my messages missing?
- Only the branch you last viewed is kept. If you edited a question or regenerated an answer, the older versions live on other branches; the stats show how many messages were skipped for that reason. Tool calls, such as searches and code execution, are left out as well; their visible results are in the answer that follows them.
- Does it handle very large exports?
- It parses the file in memory, which modern desktop browsers handle for exports of tens of megabytes. Pasting a very large file into the text box can take a few seconds; use the title filter to convert only the conversations you need.
The open-source behind it
This tool is a self-contained implementation. pionxzh/chatgpt-exporter (MIT) does the same job as a library — if you need this behaviour inside your own program, start there rather than calling a web page.
pionxzh/chatgpt-exporterAlso known as
- chatgpt export to markdown
- conversations.json
- chatgpt export converter
- export chatgpt history
- chatgpt conversations to markdown
- chatgpt data export