WebSocket Echo Tester
Connect to any public ws:// or wss:// endpoint, send text/binary frames, watch the response.
Overview
The WebSocket echo tester opens a connection to any public ws:// or wss:// endpoint, sends text or binary frames you compose in the browser, and shows every frame the server returns in a live timeline. Open the connection, type or paste a payload, send it, and watch the response arrive in milliseconds.
Frontend developers debugging a real-time API, integration engineers verifying a third-party WebSocket service, and protocol designers iterating on their own server all need a hands-on WebSocket tester. Long-tail keywords covered: send WebSocket text and binary frames online, test wss endpoint from browser, and view ping/pong WebSocket frames.
How it works
WebSocket (RFC 6455) opens with an HTTP/1.1 Upgrade request. The client sends GET with Connection: Upgrade, Upgrade: websocket, a base64 Sec-WebSocket-Key, and a version header. The server replies with 101 Switching Protocols and a derived Sec-WebSocket-Accept. From that point, both sides send framed messages over the same TCP connection — text frames (UTF-8), binary frames (arbitrary bytes), plus control frames for ping, pong, and close.
The browser's native WebSocket API handles the framing, masking, and ping/pong automatically. The tester exposes the message contents and the connection state (open, closing, closed) and reports any error or close code that arrives.
Examples
- Connect to
wss://echo.websocket.org, send "hello", receive "hello" back. - Connect to a stock-quote feed and watch JSON frames stream in continuously.
- Send a binary frame (hex-encoded bytes) to a custom server and see the response in both hex and ASCII.
- Trigger a close from the server side and observe the close code (e.g.
1000normal,1011server error).
FAQ
What is the difference between ws and wss?
ws:// is plain TCP on port 80 (by default). wss:// is TLS-wrapped on port 443. Use wss in production; browsers refuse ws:// from secure pages.
Why can't I connect to a private endpoint?
The browser opens the connection directly from your machine, so any reachable WebSocket on your local network is fair game — but mixed-content rules and the server's Origin checking may still block it. Server-issued WebSocket clients (e.g. the WebSocket Tester) restrict private ranges for safety.
What are close codes?
A 16-bit reason code in the close frame. 1000 is a clean close, 1001 is "going away", 1006 (abnormal close) is generated locally when the TCP connection drops, and 1011 is "internal error". The full list is in RFC 6455.
Are my messages logged?
The connection runs from your browser directly to the target server. The tester does not relay or store the messages.