WebSocket & SSE Tester

Connect to WebSocket and Server-Sent Events endpoints from your browser and inspect every message live.

Connection

Comma-separated, sent as Sec-WebSocket-Protocol.

Browsers cannot set custom handshake headers or send protocol-level ping/pong frames. Socket.IO and SignalR add their own protocol on top of WebSocket.

Advanced

Retries after an unexpected close with growing delays.

Message

Timeline

Not connected
No events yet
Enter an endpoint and select Connect. Messages, reconnects and close codes appear here.

Details

Select an event in the timeline to inspect its payload.
What is the WebSocket & SSE Tester?

An interactive client for realtime APIs. Connect your browser straight to a WebSocket or Server-Sent Events endpoint, send text, JSON or binary messages, and watch every inbound and outbound message, reconnect and close code in a searchable timeline. Nothing is proxied: the connection goes from your browser to the endpoint you enter.

How to use
  1. 1.Choose WebSocket or Server-Sent Events and enter the endpoint URL (wss:// or https://).
  2. 2.Add subprotocols for WebSocket, or pick Native EventSource or Fetch Stream for SSE and add headers if the stream needs a token.
  3. 3.Select Connect. The status badge and stats show the live connection.
  4. 4.Send messages with the composer (Ctrl+Enter or ⌘+Enter); choose Text, JSON, Hex or Base64.
  5. 5.Select any timeline row to inspect its payload as text, JSON, hex or Base64, then Export JSON to attach the session to a ticket.
Native EventSource or Fetch Stream?

Native EventSource is the browser API: it reconnects on its own and sends Last-Event-ID, but it cannot send custom headers and only delivers named events you list. Fetch Stream parses SSE-formatted responses using fetch. It is not the browser-native EventSource API, but it can send Authorization headers, POST bodies (as many AI streaming APIs require) and shows the HTTP status and raw event lines.

What it does not do
  • •Browsers cannot set custom WebSocket handshake headers (use a token in the URL or a first message instead).
  • •Protocol-level ping/pong frames, raw frames and TCP traffic are not visible or controllable from a web page.
  • •Socket.IO, SignalR and STOMP add their own protocol on top of WebSocket; you see their raw messages, not decoded events.
  • •Endpoints must allow this site: SSE needs CORS headers, and some WebSocket servers reject unknown origins.
  • •Pages served over HTTPS cannot open ws:// or http:// connections to remote hosts (mixed content); localhost is allowed.
Privacy and limits

URLs, headers and messages stay in this tab and are never saved; only display preferences such as the protocol tab and retention limit are remembered. The timeline keeps up to 1,000, 5,000 or 10,000 events and 50 MB, dropping the oldest first. Messages up to 1 MB can be sent; larger received payloads are kept truncated with their full size shown.

CodingTool is officially live on

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch