WebSocket Tester
Test WebSocket connections from the browser, send text, JSON, or binary messages, inspect responses, and export session logs.
Connect
Enter URL and connect
Send & Receive
Exchange messages in real time
Inspect & Analyze
Review messages and stats
Comma-separated values passed to the browser WebSocket constructor.
No messages yet. Connect to a WebSocket server and send a message.
Select a message to inspect it.
Listen for specific events on incoming messages. Match by JSON path ($.type == 'joined') or plain substring. Counters increment when messages match — listeners never send anything to the server.
Browser-native WebSocket client that opens ws:// or wss:// connections, exchanges text, JSON, or binary frames, and logs every direction with timestamps, format detection, and byte sizes. Includes receive-only Event Listeners that count matched messages by JSON path or substring.
Confirms a handshake, replays a payload, measures round-trip latency, or validates an event contract without writing a throwaway Node script, opening Postman, or compiling a desktop client. Faster feedback loop than DevTools, more inspectable than wscat.
Backend, mobile, and realtime engineers building chat, collaboration, gaming, IoT, or trading APIs. QA validating event names and payload shapes before sign-off. Frontend developers reproducing a server-side bug locally.
100% client side. Connection opens directly from your browser tab to the target server using the native WebSocket API. No traffic is proxied through AppKiro servers and no payloads, tokens, or session data leave your machine.
Integration spikes against a new realtime endpoint, incident triage when a production socket misbehaves, contract reviews before shipping a new event type, or load-shedding tests where you need to drop and retry a connection quickly.
key=value per line) for auth tokens or routing.$.type == 'joined') or plain substring. Listeners never send data.Browsers cannot set custom request headers on a WebSocket constructor and cannot send protocol-level ping/pong frames. Use query parameters, cookies already scoped to the target domain, or subprotocols for client-provided metadata. App Ping sends an application-level marker payload — works against echo servers and any backend that mirrors it.
No. Browsers do not allow custom headers in the WebSocket constructor. Use query parameters, cookies already available to the target domain, or subprotocols if your server supports them.
No. Browser JavaScript cannot send protocol-level ping frames. The Ping button sends an application-level marker message, which is useful with echo servers and apps that respond to that payload.
The server may reject browser clients, require a specific subprotocol, require authentication in the URL, or block insecure ws:// from an HTTPS page.