Skip to content

Paste a raw streaming response and get the message back, the tool calls rebuilt delta by delta, and the point where the stream stopped. A cut-off stream is labelled as one, never handed back as a finished answer.

Your input is processed in this browser. It is not uploaded. A file or pasted rows go nowhere. A URL is fetched by your browser directly from the address you give it. Sharing creates a link containing the data you choose to include.

What it does

Debugging a stream means reading hundreds of data: lines and holding the accumulating message in your head. That is why the delta that went missing is always found last. Paste the raw body, exactly as it came off the wire, and this puts it back together: the text, the tool calls as they were assembled fragment by fragment, and how the stream ended.

It reads OpenAI chat completion chunks, Anthropic content-block events, and Gemini candidates.

What it will not do

A stream that stopped is the normal case worth debugging, so nothing here is filled in for you. If no terminator arrived, the message is labelled as the part that got through rather than presented as the answer, and the label sits above it rather than after it.

A tool call whose arguments stopped mid-JSON is shown as the raw fragment that arrived, marked cut off. No arguments object is offered for it at all. Completing that JSON would mean inventing the half that never came, and a call rebuilt that way is one you might replay against your own systems.