Back to all

Best MQTT Tools for Your IoT Project

To make MQTT broker implementation more straightforward, developers around the globe tend to use different MQTT tools. These tools simplify connecting to the broker, publishing messages, and subscribing to topics. In addition, they greatly simplify testing and debugging the MQTT broker. In this article, we talk about the most popular MQTT tools available for different platforms.

Download MQTT Pro Mosquitto broker

To use the MQTT tools described below, you must first install an MQTT broker. Pro Edition for Eclipse Mosquitto is a secure, intuitive, and easy-to-use MQTT broker. Sign up for a free 14-day trial and appreciate all the benefits of working with our professional broker.

Suppose you prefer to use the open-source version of Eclipse Mosquitto. In that case, we are happy to inform you that now it has professional support that will help you ensure the stable and secure operation of your programs and fix errors that may arise when working with the broker. In addition, you will be the first to receive information about new releases and fixes of the broker.

1. MQTT Explorer

MQTT Explorer is a popular tool with an intuitive user interface for testing MQTT brokers that allows you to view all threads on your server and can handle hundreds of thousands of messages per minute.

MQTT Explorer Features

  • Ability to subscribe to topics.
  • The possibility of publishing topics.
  • Creation of digital themes.
  • Visualize messages hierarchically.
  • Search topics.
  • Delete saved topics.
  • Ability to delete topics recursively.
  • Differential comparison of current and historical messages.
MQTT Explorer screenshot

MQTT Explorer Installation

MQTT Explorer is available for Linux, Windows, and MacOS. Go to mqtt-explorer.com, select and download the appropriate version for your system. Then run the installation file and follow the instruction to install MQTT Explorer to your system.

2. Mosquitto Management Center

Mosquitto Management Center (MMC) is a graphical interface that allows you to manage Pro Mosquitto broker instances.

MMC Features

  • View settings.
  • Visualize the hierarchy of topics.
  • View detailed information on the topic.
  • Overview all connected MQTT clients.
  • Manage clients (creating, deleting, adding to a group, etc.).
  • Manage client roles and access control lists.
  • Review detailed broker information.
  • Navigate connections to the broker.
  • Create app tokens with role-based access and expiration.
  • Create and manage a high-availability cluster.

MMC Installation

he easiest way to try MMC out would be to sign up for Pro Mosquitto trial, as it already includes access to MMC features and functionality.

You can install Mosquitto Management Center on Windows, Linux, or MacOS using the official cedalo/installer Docker image. To do this, follow the detailed instructions described in this article.

Also, you can install MMC on Windows using the installation file, as described in this guide.

3. MQTTBox

MQTTBox is a cross-platform application that allows the creation and testing of MQTT clients and networks of virtual devices and performs load testing of MQTT brokers and devices.

MQTTBox Features

MQTT clients:

  • Connecting MQTT clients to one or more brokers.
  • Creating subscriptions to multiple topics for one MQTT client.
  • Posting messages to several different topics from one client.
  • Single-level and multi-level subscriptions to topics.
  • Saving message history for each topic.
  • Support for TCP, SSL/TLS, and WebSockets.
  • Ability to copy and republish payload.
  • The ability to set up MQTT clients.

MQTT Load:

  • Load testing of MQTT devices and a broker.
  • Load testing of the publication and subscription to the topic.
  • The extensive set of load test settings (e.g., number of messages to publish/subscribe per second, number of instances to reach, etc.).
  • The ability to view the progress of connecting/disconnecting to the MQTT broker and publishing/subscribing to topics in real-time.
  • Creation of graphs to view the results of the load testing.
  • Overview sent/received load test data.
MQTTBox screenshot

MQTTBox Installation

Installing MQTTBox as a Chrome web desktop application and Windows is possible. Also, you can add an MQTTBox add-on for the Google Chrome browser.

The application for Windows is available on Windows App Store.

To install the program as a browser extension, go to Chrome Web Store and add the extension to the browser. Then you can find it on the Chrome apps page.

You can download the application’s source code from GitHub and modify it as needed.

4. Mosquitto_pub and Mosquitto_sub

Mosquitto_pub is a command line utility that allows you to create MQTT clients and post messages to topics.

mosquitto_pub screenshot

Mosquitto_sub is an MQTT client that allows you to subscribe to topics, print, and filter received messages, and unsubscribe from topics.

mosquitto_sub screenshot

Mosquitto_pub and Mosquitto_sub Features

  • Publication/subscription to topics.
  • Ability to publish/subscribe in debugging mode.
  • Ability to subscribe to all topics at once.
  • Connection to the broker using a username and password.
  • Ability to provide client id prefix.
  • Publish JSON data.
  • Support using a certificate file.
  • Ability to save published messages.
  • Delete saved messages.
  • Support many settings, including host, port, timeout, etc.

Mosquitto_pub and Mosquitto_sub Installation

To install mosquitto_pub and mosquitto_sub, you must install Mosquitto clients for MQTT brokers.

Windows

To install Mosquitto clients on Windows, download the installation file from mosquitto.org. Run the saved file and follow the instructions to install Pro Mosquitto MQTT broker and Mosquitto clients.

You can install Mosquitto clients on Linux using the command line. Run the following command for it:

sudo apt-get install mosquitto-clients

For Linux distributions that support snap, you can use the following command:

sudo snap install mosquitto

MacOS

To install Mosquitto clients on MacOS you can use the homebrew project and run the following command:

brew install mosquitto

5. Mosquitto_rr

Mosquitto_rr is an MQTT client that supports the Request-Response feature of the MQTT 5 and allows you to publish a request message and wait for a response.

Mosquitto_rr Features

  • Support for TLS-encrypted connections.
  • Ability to work in debug mode.
  • Transferring the response topic to the broker.
  • Ability to use a certificate file.
  • Ability to send file content as a request message.
  • User authorization using username and password.
  • The possibility of choosing the quality of service.
  • Ability to filter messages.
  • Support for a large number of settings.

Mosquitto_rr Installation

Windows

To install mosquitto_rr on Windows, download and run the installation file from mosquitto.org

Linux

Run the following command to install mosquitto_rr on Linux:

sudo apt-get install mosquitto-clients

Or use the following command for Linux distributions that support snap:

sudo snap install mosquitto

MacOS

Use the homebrew project and the following command for installing mosquitto_rr on macOS:

brew install mosquitto

6. MQTTLens

MQTTLens is a Google Chrome add-on that provides all the basic functionality of an MQTT client version 3.1 and has a simple and clear interface.

MQTTLens Features

  • Ability to connect to several MQTT brokers.
  • Publication of messages.
  • Subscription to topics.
  • Saving messages.
  • Last-Will-and-Testimony (LWT) support.
  • Ability to format JSON objects for better readability.
MQTTLens screenshot

MQTTLens Installation

You can install MQTTLens on any computer with the Google Chrome browser installed. To do this, go to the Chrome Web Store and install the add-on by clicking Add to Chrome. Once installed, you can run MQTTLens from Chrome Apps.

7. MQTT.fx

MQTT.fx is a desktop tool for testing MQTT broker performance.

MQTT.fx Features

  • Publish/subscribe functions.
  • Support for $SYS themes.
  • Ability to save multiple connection configurations.
  • Support for multiple types of encryption methods.
  • Ability to establish only one connection at a time.
  • Support for JavaScript scripts.
  • Mime-Type support in messages.
  • Authorization using a username and password.
  • SSL/TLS support.
  • Predefined message templates.
  • HTTP proxy support.
  • Storing the history of recent topics.
  • Automatic search for updates.
MQTT.fx screenshot

MQTT.fx Installation

Download the MQTT.fx installation file from the official website, run it and follow the installation instructions.

8. MQTT X

MQTT X is an open-source client MQTT tool for working with an MQTT broker available for Windows, Linux, and macOS.

MQTT X Features

  • The ability to simultaneously create several client connections.
  • Ability to save connection parameters.
  • Automatic reconnection when the client is disconnected in case of failures.
  • Support for MQTT payload formatting.
  • TCP, SSL/TLS, and WebSocket support.
  • Automatic subscription to $SYS.
  • Ability to create a script to simulate data testing.
  • Support for converting incoming messages to Base64, JSON, and Hex.
MQTTX screenshot

MQTT X Installation

Go to the official page, then select and download the version of the program you need. After that, run the installation file and follow the instructions to install MQTT X on your system.
You can also download the MQTT X source code from GitHub.

9. MQTT.js

MQTT.js is an open-source client library for the MQTT protocol that can be used in Node.js environments and web browsers.

MQTT.js Features

  • TCP, SSL, TLS, and WebSocket support.
  • Subscribe/publish features.
  • Subscribe/publish with username and password.
  • An error handler that prevents the application from crashing when unhandled errors occur.
  • Possibility of reconnection in case of disconnection.

MQTT.js Installation

You can install MQTT.js using the following command:

npm install mqtt --save

10. Paho MQTT Client Library

The MQTT client library provides robust and reliable functionality that simplifies deploying and implementing MQTT clients.

Eclipse Paho is a project that provides open-source MQTT client libraries for different programming languages such as Python, Go, JavaScript, C/C++, Java, etc.

Paho MQTT Client Library Features

  • Connecting to an MQTT broker.
  • Publishing messages.
  • Subscribing to topics.
  • MQTT 3.1/3.1.1/5.0 support.
  • Support for LWT messages.
  • TCP, SSL/TLS support.
  • Automatic reconnection to the server when communication is lost.
  • Buffer messages while offline and send them when the connection is restored.
  • Support for web sockets.

Paho MQTT Client Library Installation

Paho Python client

You can download and install the Paho Python client using the pip tool:

pip install paho-mqtt

Paho Java client

To use the Paho Java library, it is enough to include the .jar file, which is available on the project page, in the Java classpath.

Add the following code to the dependencies section to load Paho Java:

<dependency>
     <groupId>org.eclipse.paho</groupId>
     <artifactId>org.eclipse.paho.client.mqttv3</artifactId>
     <version>1.0.2</version>
</dependency>

Paho JavaScript client

Download the Paho JavaScript library from the project page and add it to your HTML file using script tags:

<script src="mqttws31.js">
</script>

Conclusion

In this article, we described the most popular MQTT tools: desktop tools, add-ons for Google Chrome, and client libraries for various programming languages. Also, we listed the main features of these tools. Choose the MQTT tool that best suits your needs and make working with the MQTT broker as simple as possible.

Click to rate this post!
[Total: 2 Average: 5]
About the author
Avatar photo

Philipp Struss

CEO and Co-Founder of Cedalo

Philipp Struss is a co-founder of Cedalo. He holds a Master's degree in Industrial Engineering and Management, which he earned at the Karlsruhe Institute of Technology (KIT) in Karlsruhe, the Universidad Politécnica de Madrid (UPM) in Madrid, and the University of Cambridge, with a focus on data analytics, manufacturing, and Micro Electro Mechanical Systems (MEMS).

His professional journey includes roles as an analyst in business intelligence at Jedox AG, a process engineer in sensor production at Bosch, and a strategic consultant at McKinsey.

In 2017, he co-founded Cedalo, the company behind Eclipse Mosquitto and Eclipse Streamsheets.

Newsletters icon

Subscribe for monthly updates