Public MQTT broker statistics

Daily measurements of public MQTT brokers covering reachability, traffic, ports, protocol versions and payloads.

MQTT Viewer took the latest snapshot on 21 October 2026 from GitHub Actions ubuntu-latest (Azure, US).

Which public MQTT brokers are online

On 21 October 2026, 3 of 4 public brokers accepted an MQTT connection on at least one port in MQTT Viewer's daily check: test.mosquitto.org, broker.hivemq.com and broker.emqx.io. mqtt.eclipseprojects.io did not complete an MQTT connection on any port.

Broker Status Ports accepting MQTT Version ($SYS) Online in the last 30 days
test.mosquitto.org Online 5 of 5 mosquitto version 2.1.2 3 of 3 daily checks (100%)
broker.hivemq.com Online 4 of 4 Not published 3 of 3 daily checks (100%)
broker.emqx.io Online 4 of 4 Not published 3 of 3 daily checks (100%)
mqtt.eclipseprojects.io No response 0 of 4 Not published 0 of 3 daily checks (0%)

Online in the last 30 days counts the daily checks on 21 October 2026 in which the broker accepted an MQTT connection on at least one port.

How busy are public MQTT brokers

On 21 October 2026, MQTT Viewer received about 2,518 messages per second from test.mosquitto.org during a 60-second subscription to #, across 18,652 distinct topics. broker.hivemq.com and broker.emqx.io refused the subscription to # and have no traffic sample. test.mosquitto.org reported 13,457 connected clients through $SYS.

Broker Messages/s received on # Excluding retained Distinct topics Clients connected ($SYS) Publishes received/s ($SYS)
test.mosquitto.org 2,518 2,487 18,652 13,457 2,512
broker.hivemq.com Refused # Not published Not published
broker.emqx.io Refused # Not published Not published
mqtt.eclipseprojects.io Offline Not published Not published

Messages/s counts what reached the collector, including retained messages the broker sends on subscribe. Excluding retained counts only live publishes. The $SYS columns are the broker's own figures for all clients. Publishes received is the broker's one-minute moving average, converted to per second.

Ports and TLS on public MQTT brokers

On 21 October 2026, MQTT Viewer completed an MQTT connection on 13 of 17 probed ports across 4 public brokers. test.mosquitto.org port 8883 uses the operator's own CA by design, so a client needs mosquitto.org.crt to connect with verification.

test.mosquitto.org

Port Transport Result CONNECT to CONNACK TCP connect TLS certificate
1883 TCP OK 147 ms 145 ms Not applicable
8883 TLS OK 288 ms 148 ms Operator's own CA by design (mosquitto.org.crt), TLSv1.3
8886 TLS OK 294 ms 148 ms Verified, TLSv1.3, expires in 54 days
8080 WebSocket OK 149 ms 150 ms Not applicable
8081 WebSocket over TLS OK 150 ms 148 ms Verified, TLSv1.3, expires in 54 days

broker.hivemq.com

Port Transport Result CONNECT to CONNACK TCP connect TLS certificate
1883 TCP OK 151 ms 149 ms Not applicable
8883 TLS OK 6,542 ms 149 ms Verified, TLSv1.2, expires in 102 days
8000 WebSocket, path /mqtt OK 155 ms 149 ms Not applicable
8884 WebSocket over TLS, path /mqtt OK 149 ms 150 ms Verified, TLSv1.2, expires in 102 days

broker.emqx.io

Port Transport Result CONNECT to CONNACK TCP connect TLS certificate
1883 TCP OK 335 ms 153 ms Not applicable
8883 TLS OK 300 ms 151 ms Verified, TLSv1.3, expires in 87 days
8083 WebSocket, path /mqtt OK 334 ms 22 ms Not applicable
8084 WebSocket over TLS, path /mqtt OK 336 ms 22 ms Verified, TLSv1.3, expires in 87 days

mqtt.eclipseprojects.io

Port Transport Result CONNECT to CONNACK TCP connect TLS certificate
1883 TCP Failed: timed out Not applicable
8883 TLS Failed: timed out Not checked
80 WebSocket, path /mqtt Failed: timed out Not applicable
443 WebSocket over TLS, path /mqtt Failed: timed out Not checked

Latency is the median of three attempts from GitHub Actions ubuntu-latest (Azure, US). Network distance sets the floor, roughly the TCP connect time. A CONNECT to CONNACK time far above it means the broker held the CONNACK back.

MQTT versions supported

On 21 October 2026, test.mosquitto.org, broker.hivemq.com and broker.emqx.io accepted an MQTT 5 connection from MQTT Viewer on port 1883.

Broker MQTT 3.1.1 MQTT 5 Receive Maximum Maximum Packet Size Topic Alias Maximum Shared subscriptions
test.mosquitto.org Yes Yes 10 2,000,000 10 Not stated
broker.hivemq.com Yes Yes 10 Not stated 5 Not stated
broker.emqx.io Yes Yes 32 1,048,576 65,535 Yes
mqtt.eclipseprojects.io No No

The limits come from the broker's MQTT 5 CONNACK. Not stated means the broker left the property out, so the MQTT 5 default applies.

What payloads public brokers carry

On 21 October 2026, 38.1% of the messages MQTT Viewer sampled on test.mosquitto.org were JSON, 36.8% were bare numbers and 5.4% were binary.

Broker JSONNumberTextBinarySparkplug BEmpty
test.mosquitto.org 38.1%36.8%19%5.4%under 0.1%0.7%
Broker Median payload 95th percentile Largest Retained on subscribe
test.mosquitto.org 18 bytes 1,830 bytes 111,165 bytes 1,859 messages

Topic depth, the share of messages by number of topic levels:

Broker 1234567891011+
test.mosquitto.org 6.9%11.4%26.6%27%17.8%8.7%0.9%0.4%under 0.1%0.2%0%

Classes are checked in order. Empty has no bytes. Sparkplug B is any message under spBv1.0/. JSON parses as an object or array. Number is a bare decimal number such as 21.5. Text is any other valid UTF-8, including JSON strings and booleans. Binary is everything else.

Which ecosystems publish to public brokers

On 21 October 2026, Home Assistant topics carried 1.1% of the messages MQTT Viewer sampled on test.mosquitto.org, the largest share among the recognised namespaces.

Namespace (topic prefix) Share of messages Distinct topics
Home Assistant (homeassistant/) 1.1% 1,567
Shelly (shellies/, shelly) 0.4% 94
Sparkplug B (spBv1.0/) under 0.1% 4
Tasmota (tele/, stat/, cmnd/) under 0.1% 3
Frigate (frigate/) under 0.1% 1
OwnTracks (owntracks/) under 0.1% 1
ebusd (ebusd/) 0% 0
Meshtastic (msh/) 0% 0
rtl_433 (rtl_433/) 0% 0
The Things Network (v3/) 0% 0
Valetudo (valetudo/) 0% 0
Zigbee2MQTT (zigbee2mqtt/) 0% 0

Namespaces are matched against a fixed list of topic prefixes. The Tasmota prefixes tele/, stat/ and cmnd/ are also used by other software, so the figures are approximate. Messages outside the list count towards the totals.

Trends

MQTT Viewer's public broker history holds 3 snapshots, all taken on 21 October 2026.

test.mosquitto.org

Messages per second received on # from test.mosquitto.org 0 2,500 5,000 21 October 2026 21 October 2026
Messages per second received on #
Clients connected to test.mosquitto.org, from $SYS 0 10,000 20,000 21 October 2026 21 October 2026
Clients connected, from $SYS

The table lists every check on 21 October 2026. The CSV has every snapshot since 21 October 2026.

Date Broker Online Ports OK Messages/s Clients connected
21 October 2026 test.mosquitto.org Yes 5 of 5 2,518 13,457
21 October 2026 broker.hivemq.com Yes 4 of 4
21 October 2026 broker.emqx.io Yes 4 of 4
21 October 2026 mqtt.eclipseprojects.io No 0 of 4
21 October 2026 test.mosquitto.org Yes 5 of 5 2,524 12,910
21 October 2026 broker.hivemq.com Yes 4 of 4
21 October 2026 broker.emqx.io Yes 4 of 4
21 October 2026 mqtt.eclipseprojects.io No 0 of 4
21 October 2026 test.mosquitto.org Yes 5 of 5 2,523 12,801
21 October 2026 broker.hivemq.com Yes 4 of 4
21 October 2026 broker.emqx.io Yes 4 of 4
21 October 2026 mqtt.eclipseprojects.io No 0 of 4

How these numbers were collected

The collector runs from GitHub Actions ubuntu-latest (Azure, US) every day at 02:17 UTC and takes a 60-second traffic sample per broker.

  • Ports: three MQTT 3.1.1 connection attempts per port, each with a fresh client id and a 10 second timeout. CONNECT to CONNACK and TCP connect times are the median of the successful attempts.
  • TLS: certificates are verified against the runner's system CA store. A port that fails verification is retried without it, and the failure is recorded. test.mosquitto.org port 8883 is signed by mosquitto.org's own CA by design and is listed as a private CA. Its ports 8886 and 8081 use Let's Encrypt.
  • MQTT 5: one CONNECT with protocol level 5 on the broker's main TCP port.
  • $SYS: a 10 second subscription to $SYS/#. The collector keeps the version string and a fixed set of normalised values such as connected clients and one-minute load, and discards the rest.
  • Traffic: a QoS 0 subscription to # for the sample length, capped at 1,000,000 messages. A broker that refuses # is recorded as refused and gets no traffic sample. The collector does not publish.
  • Recorded: counts, rates, latencies, payload sizes and the fixed namespace names. Topic names, client ids and payloads are discarded after counting. Distinct topics are counted from truncated SHA-1 hashes held in memory, discarded at the end of the run.
  • public.mqtthq.com was removed from the list in October 2026, before the first snapshot, because its host name no longer had an address record.
  • Scope: the main unauthenticated ports. EMQX's QUIC port 14567 and ports that need credentials are left out.

Collector source: scripts/broker-stats on GitHub.

Download the data

The CSV has one row per snapshot and broker, 12 rows as of 21 October 2026.

  • public-mqtt-brokers.csv: date, location, broker, reachability, port counts, MQTT 5, messages per second, distinct topics, clients connected and payload class percentages.
  • history.json on GitHub: every measured field, including per-port latency and $SYS values.

Cite this page

The data is published under CC BY 4.0. Suggested attribution:

MQTT Viewer, "Public MQTT broker statistics", snapshot of 21 October 2026, https://mqttviewer.app/learn/public-mqtt-brokers

Frequently asked questions

Is test.mosquitto.org free to use?

test.mosquitto.org is free to use for any application, without an account. The Eclipse Mosquitto maintainers run it and ask users not to rely on it for anything important. It often runs unreleased or experimental code.

Should production devices use a public MQTT broker?

A public broker is unsuitable for production devices. Any client can subscribe and publish to the same topics, there is no authentication or uptime guarantee, and the operator can restart, rate limit or change the broker at any time. Production devices need a private or managed broker with credentials and TLS.

Which public MQTT broker supports MQTT 5?

test.mosquitto.org, broker.hivemq.com and broker.emqx.io accepted an MQTT 5 connection in MQTT Viewer's daily check on 21 October 2026. The check runs every day at 02:17 UTC.

Which ports do public MQTT brokers use?

Plain MQTT uses 1883 and MQTT over TLS uses 8883 on most public brokers. WebSocket ports differ by broker. MQTT Viewer's daily check probes test.mosquitto.org 1883 (TCP), 8883 (TLS), 8886 (TLS), 8080 (WebSocket) and 8081 (WebSocket over TLS); broker.hivemq.com 1883 (TCP), 8883 (TLS), 8000 (WebSocket) and 8884 (WebSocket over TLS); broker.emqx.io 1883 (TCP), 8883 (TLS), 8083 (WebSocket) and 8084 (WebSocket over TLS); mqtt.eclipseprojects.io 1883 (TCP), 8883 (TLS), 80 (WebSocket) and 443 (WebSocket over TLS). More on MQTT ports.

More on MQTT ports and $SYS topics.

MQTT Viewer is free and open source, and runs on macOS, Windows and Linux.

Download MQTT Viewer