# TestMQTT > Test any MQTT broker online in seconds. Free browser-based MQTT client to connect over WebSockets, subscribe, publish and debug topics — no install, no sign-up. TestMQTT is a free, browser-based MQTT client and broker tester built by ConnectMQ (https://connectmq.com). It connects to MQTT brokers over WebSockets; there is no sign-up. The site also lists public MQTT brokers, free MQTT tools and practical MQTT guides. The online client (/client) is English-only; all other pages are available in English, Spanish, Portuguese, German, French and Turkish. ## Main pages - [Test MQTT Online — Free MQTT Client & Broker Tester | TestMQTT](https://testmqtt.com/): Test any MQTT broker online in seconds. Free browser-based MQTT client to connect over WebSockets, subscribe, publish and debug topics — no install, no sign-up. - [Online MQTT Client — Connect, Publish & Subscribe](https://testmqtt.com/client): Free online MQTT client over WebSockets. Connect to HiveMQ, EMQX, Mosquitto or your own broker, subscribe with wildcards, publish with QoS and inspect JSON payloads. - [TestMQTT Support — Contact Us by Email](https://testmqtt.com/support): Need help with TestMQTT, a public broker or an MQTT connection problem? Email support@testmqtt.com with your broker URL, client and error message. ## Public MQTT brokers - [Free MQTT Brokers: Public Test Servers & Open Source](https://testmqtt.com/brokers): Free MQTT brokers for testing and self-hosting: ConnectMQ, HiveMQ, EMQX, Mosquitto and Eclipse public brokers with ports, plus free open-source brokers to install. - [Compare MQTT Brokers: ConnectMQ, EMQX, HiveMQ, Mosquitto](https://testmqtt.com/brokers/compare): Compare MQTT brokers side by side — ConnectMQ, EMQX, HiveMQ and Mosquitto — on hosting, operations, MQTT 5, security, scaling and licence. - [ConnectMQ MQTT Broker — Connection Details & Test](https://testmqtt.com/brokers/connectmq): Connect to the ConnectMQ MQTT broker (broker.connectmq.com) over TCP, TLS or WebSockets. Ports, connection settings and a free online test client. - [HiveMQ Public Broker (broker.hivemq.com) — Ports & Test](https://testmqtt.com/brokers/hivemq): Test the HiveMQ public MQTT broker (broker.hivemq.com) online. TCP 1883, TLS 8883, WebSocket 8000 and WSS 8884 connection details with a free browser client. - [EMQX Public Broker (broker.emqx.io) — Ports & Online Test](https://testmqtt.com/brokers/emqx): Test the EMQX public MQTT broker (broker.emqx.io) online. TCP 1883, TLS 8883, WebSocket 8083 and WSS 8084 settings with a free browser-based MQTT client. - [test.mosquitto.org Public Broker — Ports & Online Test](https://testmqtt.com/brokers/mosquitto): Test the Eclipse Mosquitto public test server (test.mosquitto.org) online. Port 1883, 8883, WebSocket 8080 and WSS 8081 with a free browser MQTT client. - [mqtt.eclipseprojects.io Broker — Ports & Online Test](https://testmqtt.com/brokers/eclipse): Connection details for the Eclipse public MQTT broker (mqtt.eclipseprojects.io): TCP 1883, TLS 8883, WebSocket 80 and WSS 443, plus a free online MQTT tester. ## Free MQTT tools - [MQTT Reason Codes (MQTT 5 & 3.1.1) — Lookup & Fixes](https://testmqtt.com/tools/mqtt-reason-codes): Look up every MQTT 5 reason code and MQTT 3.1.1 return code: 0x87 Not authorized, 0x86 bad password, 0x8E session taken over and more, with practical fixes. - [MQTT Topic Wildcard Tester (+ and #) — Online Tool](https://testmqtt.com/tools/topic-matcher): Check which MQTT topics a subscription filter matches. Test single-level (+) and multi-level (#) wildcards and $SYS rules instantly with this free online tool. - [MQTT Packet Size & Bandwidth Calculator](https://testmqtt.com/tools/mqtt-packet-size-calculator): Calculate the exact MQTT PUBLISH packet size byte by byte for MQTT 3.1.1 and 5, including QoS acks, and estimate daily and monthly data usage for your fleet. - [Free MQTT Tools — Code Generator, Config Builder & More](https://testmqtt.com/tools): Free online MQTT tools: code generator, mosquitto.conf builder, reason code lookup, topic wildcard tester, packet size calculator and client ID generator. - [MQTT Code Generator — Python, Node.js, ESP32, Go](https://testmqtt.com/tools/mqtt-code-generator): Generate ready-to-run MQTT client code for Python, Node.js, browser JavaScript, ESP32/Arduino, Go, Java, C# and the mosquitto CLI from your broker settings. - [mosquitto.conf Generator — Mosquitto 2.x Config Builder](https://testmqtt.com/tools/mosquitto-conf-generator): Build a Mosquitto 2.x mosquitto.conf online: listeners, TLS, WebSockets, password and ACL files, persistence and logging, with Docker and systemd commands. - [MQTT Client ID Generator — Unique & Spec-Compliant](https://testmqtt.com/tools/mqtt-client-id-generator): Generate unique MQTT client IDs in bulk: random, UUID v4, hex or timestamp, with your own prefix and a strict MQTT 3.1.1 mode (23 characters, alphanumeric). ## MQTT guides - [Learn MQTT — Guides, Tutorials & Troubleshooting](https://testmqtt.com/learn): Practical MQTT guides for developers: how to test an MQTT broker, QoS levels, topics and wildcards, ports, WebSockets, retained messages and connection errors. - [How to Test an MQTT Broker Online — Step by Step](https://testmqtt.com/learn/how-to-test-mqtt-broker): Learn how to test an MQTT broker: check connectivity, publish and subscribe, verify QoS and retained messages, and debug failures — online, with the CLI or in code. - [What Is MQTT? The MQTT Protocol Explained Simply](https://testmqtt.com/learn/what-is-mqtt): What is MQTT? A practical introduction to the MQTT protocol: brokers, topics, publish/subscribe, QoS, retained messages and Last Will — with hands-on examples. - [MQTT Ports Explained: 1883, 8883, WebSocket and 443](https://testmqtt.com/learn/mqtt-ports): Which MQTT port should you use? Learn what ports 1883, 8883, 8083, 8084 and 443 mean, which work in a browser, and the exact ports of popular public brokers. - [Public vs Private MQTT Broker: When to Switch](https://testmqtt.com/learn/public-vs-private-mqtt-brokers): Public MQTT brokers are great for testing but risky for real data. Learn their limits, when they are fine, and what to look for in a private MQTT broker. - [MQTT Broker Comparison: Mosquitto vs EMQX vs HiveMQ](https://testmqtt.com/learn/mqtt-broker-comparison): An honest MQTT broker comparison: Mosquitto, EMQX, HiveMQ, VerneMQ, NanoMQ and managed cloud brokers — language, clustering, MQTT 5, licenses and how to choose. - [Install Mosquitto MQTT Broker on Ubuntu, Windows, macOS](https://testmqtt.com/learn/install-mosquitto): Install the Mosquitto MQTT broker on Ubuntu, Debian, Windows or macOS, run it as a service, test it with mosquitto_sub/pub and fix the 2.x local-only mode. - [Python MQTT with paho-mqtt 2.x: Publish & Subscribe](https://testmqtt.com/learn/mqtt-python): Python MQTT tutorial using paho-mqtt 2.x: connect, subscribe and publish, loop_forever vs loop_start, QoS, TLS, username/password and automatic reconnects. - [MQTT.js Tutorial: MQTT in Node.js and the Browser](https://testmqtt.com/learn/mqtt-javascript): Learn MQTT in JavaScript with MQTT.js v5: connect, subscribe and publish in Node.js and in the browser over WebSockets, async/await, React and error handling. - [ESP32 MQTT Tutorial: Arduino + PubSubClient Guide](https://testmqtt.com/learn/mqtt-esp32-arduino): ESP32 MQTT tutorial with Arduino and PubSubClient: connect to WiFi and a broker, publish sensor JSON, subscribe to commands, reconnect safely and enable TLS. - [Mosquitto Docker: docker run & Docker Compose Setup](https://testmqtt.com/learn/mosquitto-docker): Run the eclipse-mosquitto image with docker run or Docker Compose: config, data and log volumes, ports 1883 and 9001, plus a password file via docker exec. - [mosquitto_pub & mosquitto_sub Examples: Cheat Sheet](https://testmqtt.com/learn/mosquitto-pub-sub-examples): Copy-paste mosquitto_pub and mosquitto_sub examples: flags table, QoS, retained messages, auth, TLS, MQTT 5, files, line mode and filtering output with -F. - [Home Assistant MQTT Setup: Mosquitto & Discovery](https://testmqtt.com/learn/home-assistant-mqtt): Set up MQTT in Home Assistant: Mosquitto add-on or external broker, the MQTT integration, MQTT discovery config topics with a JSON example, and testing it. - [Node-RED MQTT: Connect, Subscribe and Publish](https://testmqtt.com/learn/node-red-mqtt): Use MQTT in Node-RED: configure the broker node, subscribe with mqtt in, publish with mqtt out, parse JSON, set dynamic topics and import a ready-made flow. - [Mosquitto Authentication: Password File, ACL and TLS](https://testmqtt.com/learn/mosquitto-authentication): Secure a Mosquitto broker step by step: create a password file with mosquitto_passwd, restrict topics with an ACL file using %u and %c, and enable TLS on 8883. - [MQTT Security Best Practices: A Practical Checklist](https://testmqtt.com/learn/mqtt-security-best-practices): Secure MQTT step by step: TLS, authentication with passwords, certificates or tokens, topic ACLs, client ID rules, payload encryption, rate limits, monitoring. - [MQTT QoS Levels Explained: QoS 0, 1 and 2](https://testmqtt.com/learn/mqtt-qos-levels): MQTT QoS explained: how QoS 0, 1 and 2 work packet by packet, what the downgrade rule means, how sessions affect delivery, and which QoS level to choose. - [MQTT Topics & Wildcards (+ and #) — Best Practices](https://testmqtt.com/learn/mqtt-topics-and-wildcards): MQTT topics and wildcards explained: topic levels, the + and # wildcards, $SYS topics, shared subscriptions and best practices for designing a topic hierarchy. - [MQTT Retained Messages: How They Work & How to Clear](https://testmqtt.com/learn/mqtt-retained-messages): MQTT retained messages explained: how the retain flag works, when to use it, how to clear a retained message with an empty payload, and MQTT 5 retain options. - [MQTT Last Will and Testament (LWT) Explained](https://testmqtt.com/learn/mqtt-last-will): How MQTT Last Will and Testament works: when the broker sends it, will delay in MQTT 5, and the retained online/offline presence pattern with code examples. - [MQTT Keep Alive Explained: PINGREQ, Timeouts, Tuning](https://testmqtt.com/learn/mqtt-keep-alive): How MQTT keep alive works: the 1.5x timeout rule, PINGREQ and PINGRESP, MQTT 5 Server Keep Alive, NAT and mobile pitfalls, and how to choose a good interval. - [MQTT Persistent Sessions: Clean Session vs Clean Start](https://testmqtt.com/learn/mqtt-persistent-sessions): Understand MQTT persistent sessions: cleanSession in 3.1.1, Clean Start and Session Expiry in MQTT 5, the Session Present flag and how QoS 1/2 messages queue. - [MQTT Shared Subscriptions: Load Balancing with $share](https://testmqtt.com/learn/mqtt-shared-subscriptions): Learn MQTT shared subscriptions: the $share/group/filter syntax, how messages are distributed, broker support, real use cases and pitfalls like ordering. - [Sparkplug B Explained: MQTT for Industrial IoT](https://testmqtt.com/learn/mqtt-sparkplug-b): Sparkplug B explained: the spBv1.0 topic namespace, NBIRTH/NDEATH and DATA/CMD messages, protobuf payloads, bdSeq and seq, and the primary host application. - [MQTT over WebSockets: ws vs wss, Paths and Ports](https://testmqtt.com/learn/mqtt-over-websockets): MQTT over WebSockets explained: why browsers need it, ws vs wss, the /mqtt path, common ports, mixed content errors and a working browser example with MQTT.js. - [MQTT 5 vs 3.1.1: Key Differences Explained](https://testmqtt.com/learn/mqtt-5-vs-3-1-1): MQTT 5 vs 3.1.1 compared: reason codes, session and message expiry, user properties, shared subscriptions, topic aliases, request/response and flow control. - [MQTT vs HTTP for IoT: Differences and When to Use Each](https://testmqtt.com/learn/mqtt-vs-http): MQTT vs HTTP compared for IoT: push vs request/response, overhead, persistent connections, reliability and tooling — with a clear guide on when to use each one. - [MQTT Connection Errors: CONNACK Codes, Timeouts, TLS](https://testmqtt.com/learn/mqtt-connection-errors): Fix MQTT connection errors fast: timeouts, ECONNREFUSED, TLS failures, mixed content, CONNACK return codes, MQTT 5 reason codes and client ID reconnect loops. ## Other languages - [Español](https://testmqtt.com/es/llms.txt) - [Português](https://testmqtt.com/pt/llms.txt) - [Deutsch](https://testmqtt.com/de/llms.txt) - [Français](https://testmqtt.com/fr/llms.txt) - [Türkçe](https://testmqtt.com/tr/llms.txt)