⚡ AI · Client-side · No data sent to server

Chat Transcript Formatter

Paste a chat transcript and get clean Markdown. Detects speaker turns from role labels, then formats each turn for docs, issues, or notes. Runs entirely in your browser.

Headings
Transcript
Markdown
Waiting for input… ✓ Copied!
100% private. Your transcript is parsed and formatted entirely in your browser. Nothing is uploaded or logged. Copy and download both run on your device.

About the Chat Transcript Formatter

The Chat Transcript Formatter turns a raw chat transcript into clean Markdown. Paste a conversation that uses role labels like User:, Assistant:, System:, Human:, AI:, Me:, ChatGPT:, or Claude:, and the tool groups each speaker's lines into a turn and formats them for docs, issues, blog posts, or notes. It is built for anyone who saves and shares LLM conversations. Everything runs in your browser, so the transcript never leaves your machine.

How it works

  1. Paste your chat transcript into the input box. Each turn should start with a role label such as User: or Assistant:.
  2. Pick a heading style (bold label or ### heading) and choose whether to include System turns.
  3. Read the formatted Markdown in the output box, with each turn separated by a blank line.
  4. Click Copy to grab the Markdown, or Download to save it as a .md file.

Features

  • Detects speaker turns from common role labels (User, Assistant, System, Human, AI, Me, ChatGPT, Claude), case-insensitive.
  • Groups multi-line messages under the correct speaker until the next role label.
  • Two heading styles: bold label or ### heading.
  • Toggle to include or exclude System turns.
  • Copy to clipboard and download as a .md file, all client-side.

Frequently asked questions

What format does my transcript need to be in?

Each turn should begin with a role label followed by a colon, such as User:, Assistant:, System:, Human:, AI:, Me:, ChatGPT:, or Claude:. Lines after a label belong to that speaker until the next label appears. Labels are matched case-insensitively.

What if no role labels are found?

The tool shows a hint describing the expected format. Add a role label at the start of each speaker's turn, then run it again.

Can I remove System turns from the output?

Yes. Turn off the Include System option and any turn labeled System is left out of the formatted Markdown.

What is the difference between the two heading styles?

Bold label writes each speaker as **Role** on its own line. The ### heading style writes each speaker as a level-three Markdown heading, which is useful when you want the turns to show up in a document outline.

Is my transcript uploaded anywhere?

No. Parsing, formatting, copying, and downloading all happen in your browser. Nothing is sent to a server or logged.