MQTT protocol has seen rapid growth in the IoT sector. More companies and developers are now using it. MQTT can be used to learn and utilize. A client tool that developers can use to debug IoT apps, examine the MQTT features, and reduce the development cycle is a useful tool.
There are many MQTT client tools that have different functionalities. It can be difficult to find the right MQTT client tool for beginners or experts.
I have selected seven of the most valuable MQTT client tools for 2022 and listed them according to desktop, browser, command line, and category. These tools are free and open-source. I hope you find this article helpful in finding the right client tool to perform MQTT testing.
How to Choose an MQTT Client
MQTT client tools can be used to connect to MQTT brokers to send and receive messages. We believe that a great MQTT client tool should offer more than just basic functionality.
- Support for both one-way SSL authentication and two-way SSL authentication
- Support for MQTT 5 features
- All features are easy to use
- Multiple clients can be supported simultaneously online
- Cross-platform, available under different operating systems
- Support for MQTT via WebSockets
- Advanced features: Logging, custom scripting, and payload format conversion.
MQTT Desktop Clients
1. MQTT X
MQTTX is an open-sourced cross-platform MQTT5.0 client tool. It can be used on macOS, Linux, and Windows and supports multiple payload formats.
It makes test operations simple with a chat-like interface. It is easy to set up multiple simultaneous MQTT client connections online. You can also test subscription, publishing, and connection functions for MQTT/TCP and MQTT/TLS MQTT/TLS, MQTT/WebSocket as well as other MQTT protocol features.
MQTTX is dedicated to building an elegant, user-friendly, multi-platform MQTT client. Recently, MQTTX X CLI was released, as well as MQTTX X Web. MQTT X now has 2K users on GitHub Star.
- Cross-platform support for Windows, macOS, and Linux
- Supports MQTT V3.1.1 and MQTT V5.0 protocols
- Supports CA, self-signed certificate, single-way SSL/TLS authentication, and 2-way SSL/TLS authentication
- Supports theme switching between Light, Dark, and Night
- Supports MQTT via WebSocket
- Supports Hex, JSON, Plaintext, Base64, JSON, and JSON
- English, Japanese and Simplified Chinese are supported.
- Custom color coding available for topic subscriptions
- Support for automatic subscription to $SYS or byte statistics
- Modifiable script for data testing
- Logging capabilities
Also read: 10 Best Cross Browser Testing Tools
2. MQTT Explorer
MQTT Explorer, a comprehensive MQTT client, provides a structured overview of your MQTT topics. It makes it easy to work with devices/services on your broker.
MQTT Explorer allows for visual charts to display received payload messages and different comparisons. MQTT Explorer is similar to MQTT.fx, but can only establish one connection and cannot host multiple clients at once.
- Visualize topics, and get a preview of the topic’s changing.
- Delete retained topics
- Search/filter for topics
- Recursive delete topics
- Different perspectives on messages received in the past and current
- Publish topics
- Draw digital topics
- Each topic is kept in a historical record
- Switching between Dark and Light Theme
Jens Deters was the original developer of MQTT.fx. MQTT.fx was transferred to Softblade in January 2021, a German company that will take care of any further development. It also released MQTT.fx(r), 5.0, a commercial version. This article describes the MQTT.fx 1. x version.
MQTT.fx was developed using JavaFX. It supports multiple connection configurations and multiple encryption methods. It can also specify multiple types of certificates. You can also set up an HTTP proxy server during connection creation.
Although MQTT.fx supports many configuration options in TCP connections, it can only be used to establish one connection at once. It does not support WebSockets, so it cannot be used for testing MQTT over WebSockets.
- Pre-defined message templates
- The system topic $SYS will give you the status of the broker
- Display log information and support log display in the connection
- The cross-platform desktop that supports Windows, macOS, and Linux
MQTT Browser Clients
4. MQTT X Web
MQTTX Web provides an open-source MQTT client for browsers and an online MQTT WebSocket client. WebSockets allow developers to connect quickly to MQTT servers from the browser. This allows them to debug MQTT services faster and applications quicker.
MQTT X Web can be downloaded now. You can also find more information about MQTT X web on GitHub.
Also read: 6 Best IoT Platforms and Tools in 2022
MQTT Command Line Tools
5. MQTT X CI
MQTTX CLI is an open-source MQTT5.0 command-line client tool. It’s also known as MQTTX on the command line. This allows developers to debug and develop MQTT services faster by using the command-line interface.
- No dependence: Run and jump with no prerequisites
- Quick Integration: Easy integration into automation scripts
- One-way and Two-Way SSL: Supports one-way or two-way SSL authentication
6. NanoMQ CLI
NanoMQ, an ultra-lightweight and lightning-fast MQTT broker to IoT edge is available. It includes a rich toolkit that includes broker, bench conn, pub, and sub-client.
- Performance testing support
- Supports MQTT5.0
- Edge devices
- As an MQTT payload, support reading file content
7. Mosquitto CLI
Mosquitto is an open-source implementation of the MQTT Server for versions 5.0, 3.1.1, and 3.1. It includes a C++ client library and the mosquitto_pub, and mosquitto_sub utilities to publish and subscribe.
Mosquitto CLI supports multiple configuration options, connections through TLS certificates and proxy servers, supports debug mode, and can access more detailed information in debug mode.
- Command-line tool for lightweight
- Supports debug mode
- Supports encryption and non-encrypted connection to MQTT broker
- It is easy to test on a remote server