Chain-of-thought trace formatter
Chain-of-thought output is invaluable for debugging a model’s reasoning, but raw CoT is a wall of prose with inconsistent step markers — sometimes numbered, sometimes “First… then… finally”, sometimes just paragraphs. This tool detects whatever structure is there, normalises it into a clean numbered trace with step IDs, and separates the final answer so you can scan the logic at a glance.
How it works
The formatter scans the text for step boundaries using a priority of marker
styles: explicit numbering (1., Step 2:), letters (a), B.), bullets
(-, *, •), and prose transitions (First, Next, Then, Finally). It
splits the text at those boundaries into discrete steps and renumbers them
sequentially with S1, S2, S3 IDs. It then searches the tail for a
conclusion marker — Final answer, Answer:, Therefore, In conclusion — and
lifts that segment into a dedicated final-answer panel. When no markers exist at
all, it falls back to splitting on blank lines so even unstructured reasoning
becomes a readable list. Nothing is paraphrased; every character of input is
preserved in its new home.
Tips and notes
- Great for eval review. A clean numbered trace makes it obvious where a model’s reasoning diverged, which is hard to spot in raw prose.
- Prose-style works too. “First I considered… then I checked…” is detected even without numbers.
- The final answer is highlighted. Use it to confirm the conclusion actually follows from the listed steps.
- Everything is local. No network calls; copy the formatted trace with one button.