Split the model’s scratch work from the answer it actually gives
When you prompt a model to “think step by step”, the response mixes reasoning with the conclusion. Your users usually want only the clean answer, while you want the reasoning for logging and debugging. This tool detects the common chain-of-thought formats and splits the two apart automatically, so you can show one and store the other.
How it works
Paste the full output and the tool scans for recognizable structure, in priority order:
- XML-style thinking tags — looks for
<thinking>,<reasoning>, or<thought>blocks. Everything inside is the trace; everything outside is the answer. - Explicit answer markers — searches for patterns like “Final answer:”, “Therefore:”, “In conclusion:”, or “The answer is:”. Everything before the last such marker is treated as reasoning.
- Numbered or bulleted step lists — detects sequences like “Step 1:”, “1.”, or ”-” followed by reasoning language, then looks for a conclusion paragraph at the end.
- Reasoning lead-ins — catches “Let me think”, “Let’s work through this”, “First,” patterns that signal a reasoning preamble before a terminal answer.
Whichever signal it finds first (in the order above), it returns the reasoning trace and the final answer in separate panels. If no structure is found, the whole text is returned as the answer, and the reasoning panel is marked empty.
Why separating reasoning from answers matters in production
A few concrete situations where this saves time:
- Displaying results to users. Users reading a customer-facing chatbot rarely want to see the model’s internal deliberation — it reads as hesitation or verbosity. Showing only the final answer keeps the UI clean.
- Evaluation pipelines. When running automated eval of LLM outputs, you typically want to score only the final answer, not the reasoning trace. Parsing by regex is fragile; a purpose-built extractor is more reliable.
- Compliance and logging. Some applications need to log the reasoning for audit while displaying only the answer to the end user — this tool structures the split so both can be captured in one pass.
- Debugging bad reasoning. When an answer is wrong, reading the reasoning trace reveals where the model went off-track — which step contained a faulty assumption or a calculation error.
Tips and notes
- Showing raw chain-of-thought to end users is discouraged by several provider policies and is often contractually restricted for certain reasoning model tiers — check your provider’s usage terms.
- The tool never discards text: if it finds no structure, it treats the whole thing as the answer rather than silently dropping content.
- For reasoning models that return a hidden internal trace via the API (not in the text), this tool works on the visible portion you paste but cannot recover the hidden trace.
- Use the copy buttons to wire the clean answer into your UI and the trace into your observability logs.