Enter the server URL (https://your-server.com) — the client negotiates the wss:// WebSocket itself.
Adjust the path if your server mounts Socket.IO somewhere other than the default /socket.io/.
Click Connect: the status chip shows the session id (sid) once the handshake completes.
Emit any event — the payload is parsed as JSON when possible, sent as plain text otherwise.
Watch the feed: every event the server emits appears automatically, with no listener setup needed.
Socket.IO backends are famously awkward to poke at: the protocol rides on top of WebSocket with its own handshake and heartbeats, so neither curl nor a raw WebSocket client speaks it. This page is a real socket.io-client in your browser — connect to your server, emit any event with a JSON payload, and see every event the server sends, no matter its name, timestamped in a live feed.
That last part matters: the tester listens with a wildcard, so you don’t have to know the event names in advance — whatever the server emits shows up. Typical uses: checking a deployment’s realtime layer is actually up, replaying the exact emit a frontend would send, or watching a room broadcast arrive.
100% private“The connection is a direct WebSocket between your browser and the Socket.IO server you name — no relay, no logging, nothing stored. Close the tab and no trace of the session remains.”
This tester uses the WebSocket transport only — it skips Socket.IO’s default HTTP long-polling bootstrap. Virtually all modern servers accept direct websocket connections, but if yours explicitly restricts transports to polling, it will refuse; enable the websocket transport server-side.
For this tester, mostly no: direct WebSocket connections skip CORS preflights. Your server may still validate the Origin header itself — Socket.IO’s cors option does — so if the connection is rejected instantly, try allowing this origin or disabling origin checks while testing.
Namespaces work — append them to the URL (https://server.com/admin). Handshake auth payloads (the auth option) are not yet exposed as a field; servers that require them will reject the connection with a message visible in the error line.