Skip to content

SSE Stream Replayer

Parse a Server-Sent Events log into event and data frames and replay the streamed text at 0.25x to 4x, with a timing chart and event-type counts.

SSE Stream Replayer

8 frames, 3 text tokens parsed

3 / 3
Speed:
Hello there, how can I help?

Event types

content_block_delta3
message_start1
content_block_start1
content_block_stop1
message_delta1
message_stop1

Token emission timeline

startend of stream

Frames (8)

#eventdata
0message_start{"type":"message_start","message":{"id":"msg_01","model":"claude-sonnet-5"}}
1content_block_start{"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}
2content_block_delta{"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Hello"}}
3content_block_delta{"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" there"}}
4content_block_delta{"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":", how can I help?"}}
5content_block_stop{"type":"content_block_stop","index":0}
6message_delta{"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":12}}
7message_stop{"type":"message_stop"}

Updated . Provided as is. Check the output before you rely on it in production.

How to use SSE Stream Replayer

  1. 1

    Paste an SSE log

    Drop a raw Server-Sent Events transcript captured from any provider — OpenAI, Anthropic, Gemini, or a custom backend. Frames are delimited by blank lines per the SSE spec.

  2. 2

    Inspect frames and event types

    The Frames table lists every parsed frame with its event name and data. The event-type panel shows how often each event appears, surfacing imbalances like missing content_block_stop frames.

  3. 3

    Replay token-by-token

    Press Play to stream the extracted text deltas into the output pane. Switch speeds between 0.25x and 4x, step forward and back, or restart from the beginning to inspect a specific moment.

  4. 4

    Read the timing chart

    The token-emission timeline buckets tokens by their position in the stream so you can spot bursts, long silences after tool calls, or front-loaded responses without leaving the page.

Questions and answers

Which providers does it parse?
Any backend that emits standard Server-Sent Events. Token extraction has provider-aware heuristics for OpenAI choices.delta.content, Anthropic content_block_delta, and Gemini candidates.parts text, plus generic fallback for raw frames.
What replay speeds are available?
0.25x, 0.5x, 1x, 2x, and 4x. You can also step one token forward or back, restart from the beginning, and watch the progress bar fill as tokens stream into the output pane.
How is the timing chart computed?
Tokens are bucketed by their position in the original frame sequence. Bar height shows how many text tokens landed in each bucket, surfacing bursts, gaps after tool calls, and front-loaded responses.
Does it send my data to a server?
No. Frame parsing, token extraction, replay, and timing analysis all happen in your browser. SSE logs never leave your device.
What if my log is missing event names?
The parser falls back to default unnamed frames and still extracts data payloads. Each frame appears in the table with event shown as a dash so you can spot non-conforming streams quickly.
For AI agents: how to call this tool

Machine-readable contract, endpoints and examples. Humans can ignore this section.

Best Path For Builders

Browser workflow

Runs instantly in the browser with private local processing and copy/export-ready output.

Browser Workflow

This tool is optimized for instant in-browser execution with local data handling. Run it here and copy/export the output directly.

/sse-stream-replayer/

For automation planning, fetch the canonical contract at /api/tool/sse-stream-replayer.json.