Get Started in Minutes
This guide will walk you through connecting to an MQTT broker and exploring your first messages.Quick Connection Example
Try connecting to a public test broker to explore MQTT Explorer’s features:Test Broker: Mosquitto
The Eclipse Mosquitto project provides a free public test broker:Default SubscriptionsMQTT Explorer automatically subscribes to:
#- All topics (wildcard)$SYS/#- Broker system information
Connection Setup
Basic Connection
Enter Basic Details
A friendly name for this connection (e.g., “Production Broker”, “Home Assistant”)
Broker hostname or IP address (e.g.,
test.mosquitto.org, 192.168.1.100)MQTT port (default:
1883 for plain, 8883 for TLS, 80/443 for WebSocket)Connection protocol:
mqtt- Standard MQTT over TCPws- MQTT over WebSocket
Working With Topics
Viewing Topics
Once connected, topics appear in a hierarchical tree structure:- 📁 Folder icon = Topic level (branch)
- 📄 Document icon = Topic with message (leaf)
- Bold = Recently updated topic
- Color coding = Message age (newer = brighter)
Inspecting Messages
Click any topic to view:- Value
- History
- Stats
- Chart
The current message payload:
- Raw: Plain text view
- JSON: Formatted JSON with syntax highlighting
- Hex: Hexadecimal view for binary data
Publishing Messages
Publish Your First Message
Enter Message Details
In the Publish panel (usually at the bottom):
Topic to publish to (e.g.,
home/livingroom/light/command)Message payload (text, JSON, or binary)
Quality of Service level:
0- At most once (fire and forget)1- At least once (acknowledged)2- Exactly once (assured delivery)
Retain flag - if enabled, broker stores message and sends to new subscribers
Example: Publish JSON
home/livingroom/sensor
Advanced Settings
Client ID
MQTT Explorer generates a unique client ID automatically:Custom Subscriptions
Modify the default subscriptions in Advanced Settings: Examples:+- Single level wildcard (e.g.,home/+/temperature)#- Multi-level wildcard (e.g.,home/#)
WebSocket Connections
For brokers that support MQTT over WebSocket:- HiveMQ:
/mqtt - Mosquitto:
/(default) - AWS IoT:
/mqtt - Azure IoT Hub:
/$iothub/websocket
WebSocket connections are useful when:
- MQTT port (1883) is blocked by firewall
- Connecting from browser environments
- Using cloud MQTT services
TLS/SSL Encryption
For secure connections with encryption:Certificate Validation
Enable certificate validation for production brokers.Disable only for:
- Testing with self-signed certificates
- Development environments
Upload Certificates (Optional)
For self-signed certificates or client authentication:
- CA Certificate: Broker’s Certificate Authority
- Client Certificate: Your client certificate
- Client Key: Private key for client certificate
- Desktop App
- Browser/Docker
Click Select File to browse for certificate files from your filesystem.
Real-World Examples
Home Assistant
Connect to Home Assistant’s built-in MQTT broker:AWS IoT Core
HiveMQ Cloud
Local Mosquitto (Docker)
Next Steps
Topic Visualization
Learn about the hierarchical topic tree and filtering
Message Publishing
Master message publishing with QoS and retain flags
TLS/SSL Setup
Configure secure encrypted connections
Protocol Decoders
Decode Protobuf and Sparkplug B messages
Troubleshooting
Connection Refused
Connection Refused
Possible causes:
- Broker is not running
- Wrong host or port
- Firewall blocking connection
- Network connectivity issues
- Verify broker is running:
netstat -an | grep 1883 - Test connectivity:
telnet broker-host 1883 - Check firewall rules
- Try a public test broker first
Authentication Failed
Authentication Failed
Solutions:
- Verify username and password
- Check broker access control list (ACL)
- Confirm authentication is required
- Check broker logs for details
No Topics Appearing
No Topics Appearing
Possible causes:
- No messages published yet
- Subscription filters too restrictive
- ACL restricts topic access
- Publish a test message
- Check subscription patterns
- Verify ACL permissions on broker
- Check broker logs
TLS/SSL Connection Failed
TLS/SSL Connection Failed
Solutions:
- Verify port is 8883 (not 1883)
- Check certificate validation setting
- Upload CA certificate for self-signed certs
- Verify broker TLS configuration
- Check certificate expiration dates
Need More Help?
Report issues or ask questions on GitHub