SSE Stream Debugger
Paste an SSE stream and rebuild the reply, reasoning, and tool calls
What is SSE Stream Debugger?
This SSE stream debugger parses OpenAI-style data: chat.completion.chunk lines (and NDJSON) in your browser: it concatenates delta.content and reasoning_content, merges tool_calls.function.arguments by index, and shows usage, finish_reason, and per-chunk JSON. Parsing never leaves your device.
How to use SSE Stream Debugger
- 1Copy the raw stream from the EventStream / Response panel in DevTools, or from a terminal log.
- 2Paste it on the left. Auto is enough: a data: prefix selects SSE, otherwise NDJSON.
- 3Switch the right pane between Full message, Reply text, Reasoning, Tool calls, and Chunks.
- 4Use a share link when you need to reproduce the dump. Stream logs can contain prompts or secrets, so do not send them somewhere untrusted.
Common errors and how to fix them
| Symptom | Cause | Fix |
|---|---|---|
| The reconstructed reply is empty even though the chunk JSON clearly has text | The vendor put deltas on a non-standard field, or a pretty-printed multi-line JSON dump was split line-by-line as NDJSON. | Force the format to SSE, and confirm the deltas live on choices[0].delta.content / reasoning_content, or on Anthropic delta.text. |
| Merged tool-call arguments are not valid JSON | The stream was cut off, or fragments from several tool_calls do not share the same index. | Inspect the last frames in Chunks to see whether the dump is complete; then switch back to Tool calls. This tool concatenates by index and will not guess missing braces. |
Frequently asked questions
How is this different from Spoold or the DevToolkit stream viewers?+
It is the same job: paste SSE or NDJSON, rebuild the assistant text, and merge tool_calls. This page also stitches reasoning_content (common on DeepSeek / hy3-compatible APIs), offers extra views for the full message, reasoning, and per-chunk JSON, and can travel through this site’s share links and optional draft cache. Parsing still happens only in your browser.
Why is data: [DONE] missing from the chunk list?+
It is the end-of-stream marker used by OpenAI-compatible APIs, not JSON. The parser records that the dump contains [DONE] and skips the line instead of treating it as an error.
Can this tool connect to a live streaming API?+
No. It is an offline viewer for text you already captured. It will not send Authorization headers and it is not an HTTP proxy. Capture the stream with the browser Network panel, curl -N, or by redirecting the response to a file, then paste it here.
Related tools
All toolsHTTP Status Codes
HTTP status code reference with likely causes and where to look
URL Parser
Break a URL into its components and query parameters
MIME Type Lookup
MIME type and file extension reference
User Agent Parser
Parse a User-Agent string into browser and OS details
CIDR Subnet Calculator
CIDR subnet calculator with membership checks
HTTP Header Analyzer
Inspect response headers and security header coverage