WebSocket Tester & Real-Time API Debugger

Test, inspect, and automate persistent API streams (WS, WSS, Socket.IO, SignalR, STOMP, Protobuf, MsgPack).

Connection & Mock Settings

Disconnected
wss://
Interval: sec
URL Query Parameters & Authentication Tokens (Browser Mode)

Parameters entered here are appended into Search Query Parameters (e.g. ?token=xyz) during connection upgrade.

Message Composer

Automated Test Suite

Define sequential triggers or passive stream assertions to automatically validate incoming real-time events.

Type Trigger Payload / Matcher JSON Prop Op Expected Value Status
Pending

Stream Inspector

0 Frames
Connection Diagnostics & Stream Health
Handshake Status: Disconnected
Active Subprotocol: Raw RFC 6455
Latest RTT Latency: -- ms
Total Data Bandwidth: 0 B
Sent / Received: 0 / 0

No WebSocket frames recorded. Click Connect to begin streaming real-time data.

About This Tool

This free online WebSocket tester and real-time API client allows you to inspect, debug, and automate full-duplex WebSocket connections (WS & WSS) directly from your browser. Designed for backend developers, frontend engineers, and QA automation teams, it solves the traditional friction of testing persistent stateful connections. Built with native support for major subprotocols — including Socket.IO, Microsoft SignalR, STOMP over WebSockets, and GraphQL Subscriptions (graphql-ws) — it eliminates manual packet framing and ASCII separator hacks. Enjoy real-time stream timeline visualization, payload formatting (JSON, Hex, Base64, MessagePack simulation), automated ping/pong heartbeats, latency (RTT) tracking, and local-first browser execution with zero cloud lock-in.

Key Features

  • Full support for unencrypted (ws://) and TLS-encrypted (wss://) connections
  • First-class subprotocol adapters: Socket.IO, SignalR Hubs (0x1E record separators), STOMP, and GraphQL Subscriptions
  • Visual stream timeline inspector with message filtering (Inbound, Outbound, System, Ping/Pong) and search
  • Data view modes for formatted JSON, Raw Text, Hex, Base64, and MessagePack
  • Automated ping/pong heartbeat keeper to prevent connection timeouts during debugging
  • Interval auto-send and loop timer to simulate message loads and periodic client updates
  • Stateful automated test runner with time-window assertions (e.g. expect event within 2000ms)
  • Round-trip latency (RTT) measurement in milliseconds for performance profiling
  • Saved request presets and session export to JSON or CSV
  • 100% Client-Side & Local-First — your API tokens and payload data never leave your browser

Frequently Asked Questions

What is a WebSocket tester and why do I need one?

Unlike standard REST API clients that use short-lived HTTP request-response cycles, WebSockets establish a persistent, two-way communication channel. A WebSocket tester lets you establish connections, send and receive live messages in real time, test custom subprotocols, inspect connection latency, and simulate client events without writing manual client code.

How do I test Socket.IO, SignalR, or GraphQL endpoints?

Select your target protocol from the 'Subprotocol' dropdown menu in the Connection Panel. The tester automatically formats handshakes, wraps outgoing payloads in protocol-compliant frames (such as Engine.IO packet prefixes or SignalR 0x1E record separators), and unwraps incoming frames so you can focus on testing payload data.

Can I connect to local or secure WebSocket servers (wss://)?

Yes. You can connect to public secure endpoints (wss://) as well as local development servers (e.g., ws://localhost:8080 or ws://127.0.0.1:3000). For local self-signed SSL certificates with wss://, make sure your browser trusts the certificate first by opening the endpoint in a separate tab.

How do automated assertions and time-window tests work?

In the Test Runner tab, you can define assertion rules such as expecting a specific event or JSON property within a given timeframe (e.g., within 2000ms). When you click 'Run Tests', the tester sends your trigger message and listens asynchronously for matching inbound frames, flagging pass/fail status automatically.

How does the automatic Ping/Pong heartbeat keeper work?

Many WebSocket servers close idle connections after 15 to 60 seconds. Enabling 'Auto Ping' sends a periodic control ping or heartbeat frame at your specified interval (e.g., every 10 seconds) to maintain connection state while you inspect payloads.

Is my connection payload data stored or sent to a remote server?

No. The WebSocket client runs entirely inside your web browser. All WebSocket connections are opened directly between your browser and your target server. No API keys, authorization tokens, or payload frames are logged or transmitted to any middleman or cloud infrastructure.

What serialization formats are supported?

The inspector supports plain text, formatted JSON with syntax highlighting, Hex dumps, Base64 strings, and MessagePack payload parsing. If an incoming frame is a JSON string, it is automatically beautified for easy inspection.