AI chat log parser
Cleans a pasted ChatGPT or Claude transcript into a tidy user/AI dialogue.
AI chat log parser
Copying a conversation out of ChatGPT's or Claude's web interface rarely comes out clean. Along with the actual dialogue you get button labels like "Copy" and "Regenerate", stray timestamps, and model names sitting on their own line — clutter that makes the transcript awkward to read, share in a support ticket, or paste into a document. This tool strips that interface noise and reassembles what's left into a clear, alternating conversation.
It recognizes the speaker labels these tools normally show — "You", "ChatGPT", "Claude", "Assistant" and a few generic equivalents — whether they sit alone on a line or lead straight into the first sentence ("You: how do I…"). If a paste has lost its labels entirely, the parser falls back to treating each blank-line-separated block as one turn and alternates user and AI starting with the user, which is how most transcripts read once the chrome is gone. Short UI-only lines — "Copy", "Copy code", "Regenerate", "Retry", bare clock times — are dropped before either pass runs, so they never end up misread as part of the dialogue.
By default the output is Markdown — **User:** and **AI:** turns separated by blank lines — ready to paste into a doc, a blog post, or a bug report. Switching on the JSON output option instead produces an array of `{ role, content }` objects in the same order, useful for feeding a transcript into a script, an eval dataset, or another tool in a pipeline.
Everything runs in your browser: pasting, parsing and formatting happen locally in JavaScript, and the transcript is never uploaded or sent anywhere.