Conversation Log Parser
Parse any chat transcript — Slack export, Discord copy, ChatGPT/Claude UI paste, IRC log, plain alternating dialogue — into structured turns. Output as JSON, JSONL, or Markdown. Useful for building fine-tuning datasets, archiving conversations, or feeding chat history into a new LLM call.
How to use the Conversation Log Parser
Paste a transcript. The parser detects common formats: Name: text, [Name] text, **Name**: text, ChatGPT-style "You said:" / "ChatGPT said:", Slack timestamp prefix. Each detected speaker becomes a role; consecutive turns from the same speaker are merged.
Turning chat transcripts into structured turns
Chat history arrives in many shapes: a Slack export, a Discord copy-paste, the “You said / ChatGPT said” layout from a web UI, an IRC log, or plain alternating dialogue. To reuse that history — as a fine-tuning example, an archive, or context for a fresh API call — it needs to become structured turns with a clear role and message for each.
This parser detects the common prefixes (Name:, [Name], **Name**:, UI labels, Slack timestamps), assigns each speaker a role, and merges consecutive turns from the same speaker. Output is available as JSON, JSONL, Markdown, or an OpenAI-style messages array ready to send back to a model.
Common use cases
- Fine-tuning data — convert real conversations into the role and content pairs training expects.
- Replaying history — turn a transcript into a
messagesarray to continue in a new call. - Archiving chats — store a clean structured copy of a support or team conversation.
- Format normalization — bring logs from different tools into one consistent shape.
- Analysis prep — structure dialogue before counting turns or extracting fields.
Frequently asked questions
Which transcript formats does it detect?
Name: text, [Name] text, **Name**: text, ChatGPT-style “You said / ChatGPT said”, and Slack timestamp prefixes. Each speaker becomes a role.What output formats are available?
messages array. The messages form drops straight into an API call as prior context.