Chris Collins

Tools · embedded

MQTT client

Connect to an MQTT broker over WebSockets, subscribe with wildcards, watch messages as a live log and topic tree, and publish text, JSON, or binary — for testing IoT devices and Home Assistant setups.

Added · updated 28 October 2026

Works with

How to use it

Browsers cannot open raw TCP connections, so the broker must accept MQTT over WebSockets, usually at a wss:// URL such as wss://broker.example.com:8084/mqtt (Mosquitto, EMQX, HiveMQ, and Home Assistant’s Mosquitto add-on can all do this). Plain ws:// URLs only work to localhost, because the page is served over HTTPS. The suggestions include three public test brokers (EMQX, Mosquitto, and HiveMQ). Anyone can read what you publish there, so never send secrets to them.

Connecting

Set the URL, client ID (randomised by default), keep-alive, MQTT version (3.1.1 or 5), clean session, and an optional last-will message. A username and password are used for the connection only and are never saved. The client library (mqtt.js) loads from cdn.jsdelivr.net the first time you connect, and your browser then talks directly to the broker.

Subscribing and the log

Add subscriptions with + (one level) and # (all remaining levels) wildcards and a QoS; each appears as a chip you can remove. Messages appear in a log with time, topic, QoS, retain flag, and size, shown as text, pretty-printed JSON, or hex. Filter the log by text or by a wildcard pattern, pause it, clear it, or export it as JSON. The Topic tree view shows every topic seen, with the latest value and a message count for each.

Publishing

Enter a topic and a payload as text, JSON (validated first), or hex bytes. Choose the QoS and the retain flag, then press Publish or Cmd/Ctrl + Enter. Save common messages as snippets. To clear a retained message, publish an empty payload with retain set.

Sharing

Share link copies a URL that opens this tool with your current settings — every value it remembers between visits, packed into ?s=. Opening a link replaces your saved settings for this tool. You can also write a short link by hand with topic (the publish topic), for example /tools/mqtt/?topic=home/sensors/temp. The username and password are never included; the broker URL, subscriptions, and publish settings are.

Runs entirely in your browser — network requests go only to the services named on this page.