Webinar
Introducing EMQX 6.1: Durable MQTT Streams and Analytics-Ready Data | Register Now →

Comparison of Open Source MQTT Brokers 2025

Fan WangFan Wang
Jul 25, 2025MQTT
Comparison of Open Source MQTT Brokers 2025

Introduction

MQTT (Message Queue Telemetry Transport), originally designed as a lightweight publish/subscribe messaging transport, is now the de facto standard messaging protocol for the Internet of Things (IoT). An MQTT Broker is critical in connecting clients, such as IoT devices, and moving MQTT messages between them.

As a16z said over a decade ago, "Software is eating the world." Open source is eating up software. More than 20 open-source MQTT broker implementations are available today, making the selection process challenging for software architects and developers.

In this post series, we’ll explore the top open-source MQTT brokers in 2025 and compare them in-depth to help you choose the best one for your needs.

Evaluation Criteria: Community and Popularity

To thoroughly compare open-source MQTT brokers in 2025, it is essential to consider the following evaluation criteria:

  • Community: evaluated by the number of GitHub stars, contributors, and issues.
  • Popularity: evaluated by examining the user base, downloads, and docker pulls.
  • Project Activity: evaluated the frequency of GitHub commits, PRs, and releases, especially those made within the last 12 months.

Based on the criteria, we choose to focus on four popular open-source MQTT brokers that have the most influence in the open-source community:

  • EMQX: This is the most starred MQTT broker on GitHub, with 15.1k stars.
  • Mosquitto: This is the second-most-starred but the most prevalent among MQTT brokers.
  • NanoMQ: This is the latest and one of the most active MQTT brokers available.
  • VerneMQ: Although not actively developing on Github, this MQTT broker has the third-highest number of stars.

Here is a summary of the four projects hosted on GitHub:

EMQXMosquittoNanoMQVerneMQ
GitHub ProjectEMQX GitHubMosquitto GitHubNanoMQ GitHubVerneMQ GitHub
Project Created2012200920202014
LicenseApache License 2.0(≤ v5.8)
BSL 1.1(≥v5.9)
EPL/EDL LicenseMIT LicenseApache Version 2.0
Programming LanguageErlangC/C++CErlang
Latest Releasev5.10.0 (Jun 2025)2.0.22 (Jul 2025)v0.23.10 (Jun 2025)v2.1.1 (Jul 2025)
GitHub Stars15.1k10k2k3.4k
GitHub Commits28k+3100+3700+2500+
GitHub Issues4100+2600+600+1500+
GitHub Releases370+70+120+40+
GitHub PRs10k+700+1300+800+
GitHub Contributors120+140+30+60+

Overview of Top Open Source MQTT Brokers

EMQX

EMQX is one of the most popular MQTT brokers and has 15k stars on GitHub. The EMQX project was launched in 2012 and is licensed under Apache version 2.0(EMQX 5.8 and earlier versions). EMQX is written in Erlang/OTP, a programming language for building massively scalable soft real-time systems.

EMQX is the world's most scalable MQTT broker that supports advanced features such as MQTT 5.0, MQTT-SN, and MQTT over QUIC. EMQX offers unparalleled scalability with proven support for 100 million concurrent connections on a single 23-node cluster, built on a masterless architecture that ensures high availability.

See: Reaching 100M MQTT connections with EMQX 5.0

EMQX offers rich enterprise features, data integration, cloud hosting services, and commercial support from EMQ Technologies Inc. Over the years, EMQX has gained popularity among enterprises, startups, and individuals due to its performance, reliability, and scalability. EMQX is widely used for business-critical applications in various industries, such as IoT, industrial IoT, connected cars, manufacturing, and telecommunications.

GitHub: https://github.com/emqx/emqx

Pros:

  • Supports large-scale deployments
  • High availability
  • Horizontal scalability
  • High-performance and low-latency
  • Rich enterprise features
  • Pioneering MQTT over QUIC

Cons:

  • Complex to set up and configure
  • Logs may be confusing

Mosquitto

The Mosquitto project was initially developed by Roger Light in 2009 and later donated to the Eclipse Foundation, licensed under the Eclipse Public License (EPL/EDL license). As of July 2025, it is the most widely deployed open-source MQTT broker with a large community and over 10k GitHub stars.

Mosquitto is written in C/C++ and uses a single-threaded architecture. Mosquitto implements MQTT protocol versions 5.0, 3.1.1, and 3.1, and supports SSL/TLS and WebSocket. Its lightweight design makes Mosquitto suitable for deployment on embedded devices or servers with limited resources.

Mosquitto is known for its small booting footprint of about 200k. However, it does not provide native support for multi-threading or clustering. Mosquitto is available for various platforms, including Linux, Windows, and macOS.

GitHub: https://github.com/eclipse/mosquitto

Pros:

  • Easy to setup and use
  • MQTT 5.0 protocol support
  • Lightweight and small footprint
  • Active community support

Cons:

  • Single-threaded architecture
  • Limited scalability in production ( <100k )
  • No clustering support
  • Lacking enterprise features
  • Limited cloud-native support

NanoMQ

NanoMQ, an open-source project released in 2020, is a lightweight and fast MQTT messaging broker designed for edge computing scenarios in the Internet of Things (IoT).

NanoMQ is implemented in pure C, based on NNG's asynchronous I/O with a multi-threading Actor Model. It fully supports MQTT 3.1.1 and MQTT 5.0 protocol versions and pioneers MQTT over QUIC.

NanoMQ is lightweight and high-performance, making it suitable for various edge computing platforms. It is highly compatible and portable, relying solely on the native POSIX API. This makes it easy to deploy on any POSIX-compatible platform and runs smoothly on various CPU architectures, including x86_64, ARM, MIPS, and RISC-V.

GitHub: https://github.com/nanomq/nanomq

Pros

  • Lightweight design
  • Multi-threading and Async IO
  • Highly portable
  • Small booting footprint
  • Easy to deploy
  • Bridging with brokerless protocols

Cons

  • No clustering support
  • Small community and user base
  • Lack of documentation and tutorials
  • Lack of enterprise features (data Integrations)
Try NanoMQ for Free
Get Started →

VerneMQ

The VerneMQ project was launched in 2014 and initially developed by Erlio GmbH. The project is licensed under Apache Version 2.0. It supports MQTT versions 3.1, 3.1.1, and 5.0. As the second broker wrote in Erlang/OTP, it borrowed some code from the EMQX project.

Regarding architectural design, VerneMQ is designed to handle millions of concurrent connections and messages with low latency and high throughput. It supports MQTT message persistence in LevelDB and uses a clustering architecture based on the Plumtree library, which implements the Epidemic Broadcast Trees algorithm.

Unfortunately, this Plumtree cluster architecture has not proven to work, even though it seems perfect in theory. The VerneMQ team and community have spent many years trying to make it work, fixing problems such as network split, data inconsistency, and crash recovery.

Finally, the project has stopped being actively developed and maintained, with only about 50 commits in the last 12 months.

GitHub: https://github.com/vernemq/vernemq

Pros:

  • High availability
  • Horizontal scalability
  • Message persistence

Cons:

  • Not proofed clustering
  • Limited documentation
  • Limited enterprise features
  • Not actively developing

Scalability, Performance, and Reliability

Before we dive into the comparison of features and capabilities of these MQTT brokers, let's review their scalability, availability, performance, latency, and reliability first.

  • Scalability: Can the broker scale horizontally to handle millions of concurrent MQTT connections?
  • Availability: Does the broker support highly available clustering for mission-critical applications?
  • Performance: How many QoS/0/1/2 MQTT messages per second can the broker route and deliver?
  • Latency: How fast can the broker dispatch and deliver an MQTT message from one MQTT client to another?
  • Reliability: Does the broker support MQTT message persistence and delivery without data loss?

Below is a brief analysis of the four MQTT brokers:

EMQXMosquittoNanoMQVerneMQ
Scalability
Multi-threadingYesNoYesYes
Asynchronous I/OYesYesYesYes
ClusteringYes (over 20 nodes cluster)NoNoYes
MQTT connections per node4M100k100k1M
MQTT connections per cluster100MN/AN/A?
Availability
Masterless Clustering ArchitectureYesNoNoYes
Elastic and Resilient scaling at runtimeYesNoNoYes
Auto ClusteringYesNoNoNo
Overload ProtectionYesNoNoYes
Fault toleranceYesNoNo?
Performance (per node)
QoS0 msgs/sec2 million120k500k?
QoS1 msgs/sec800k80k400k?
QoS2 msgs/sec200k40k200k?
Latency
Latency (varies on different scenarios)Single-digit millisecond latency at scaleUp to seconds latency in some scenariosLess than 10 milliseconds in most scenariosUp to seconds latency in some scenarios
Reliability
Message PersistenceIn RocksDB and External DatabasesIn FilesIn SQLiteIn LevelDB
Zero Downtime/Hot UpgradeYesNoNoNo
Hot PatchYesNoNoNo

? here means that we were unable to find any publicly available documentation or files that could serve as evidence regarding the item under discussion.

MQTT Protocol and Connectivity

All the presented brokers fully implement MQTT versions 3.1.1 and 5.0 and support MQTT over WebSocket and SSL/TLS encryption. Additionally, EMQX supports MQTT-SN, CoAP, and LwM2M protocol gateways. NanoMQ supports brokerless mode and can work with DDS, ZeroMQ, and Nanomsg.

EMQX and NanoMQ have committed to advancing the MQTT standard. They are pioneers in implementing MQTT over QUIC, the next generation of MQTT protocol that aims to optimize further IoT communication.

EMQXMosquittoNanoMQVerneMQ
MQTT 3.1/3.1.1YesYesYesYes
MQTT 5.0YesYesYesYes
MQTT-SN 1.2YesNoNoNo
MQTT over TCPYesYesYesYes
MQTT over SSL/TLSYesYesYesYes
MQTT over WebSocketYesYesYesYes
MQTT over QUICYesNoYesNo
MQTT BridgingYesYesYesYes
Shared SubscriptionYesYesYesYes
Retained MessageYesYesYesYes
Will MessageYesYesYesYes
MQTT Request/ResponseYesYesYesYes
LB (Proxy Protocol)YesNoNoYes
Multi-protocol GatewayYesNoNoNo
CoAPYesNoNoNo
LwM2MYesNoNoNo
DDS GatewayNoNoYesNo
ZeroMQ GatewayNoNoYesNo
Nanomsg/NNGNoNoYesNo

Security, Authentication & Authorization

Security is crucial for connecting IoT devices and data exchanged between connected devices using MQTT brokers. All the compared brokers support secure connections based on TLS/SSL and authentication and authorization mechanisms such as username/password, JWT, X.509 certificates, and access control lists.

Additionally, EMQX offers advanced security features like integration with external databases, OCSP Stapling, fine-grained access control policies, flapping detection, and support for OAuth 2.0 authorization.

EMQXMosquittoNanoMQVerneMQ
TLS/SSLYesYesYesYes
OCSP StaplingYesYesNoNo
Username/Password AuthenticationYesYesYesYes
X.509 Certificates AuthenticationYesYesYesYes
JWT AuthenticationYesYes (via auth plugin)No?
LDAP AuthenticationYesYes (via auth plugin)NoYes (via plugin)
Fine-grained Access ControlYesYesYesYes
Authorization using DatabasesYes (built-in)Yes (via auth plugins)NoYes (via auth plugins)
Flapping DetectionYesNoNoNo
Audit LogsYesNoNoNo

Data Integrations (Out-of-the-Box)

All the brokers support integration with external services using REST APIs and WebHook. As lightweight brokers, Mosquitto and NanoMQ do not support data integration. Users can write code to consume MQTT messages from Mosquitto and ingest them into external databases or cloud services.

EMQX implements a built-in SQL-based rule engine to help extract, filter, enrich, and transform MQTT messages in real time within the broker. And the Enterprise Edition of EMQX can seamlessly integrate with Kafka, databases, and cloud services using out-of-the-box data bridges.

EMQXMosquittoNanoMQVerneMQ
WebHookYesYesYesYes
Rule EngineYesNoYes (limited)No
Message CodecYesNoNoNo
Schema RegistryYesNoNoNo
Data BridgeYesNoNoNo
Confluent/KafkaYes (Enterprise Edition)NoNoNo
SAP Event MeshYes (Enterprise Edition)NoNoNo
Apache PulsarYes (Enterprise Edition)NoNoNo
RabbitMQYes (Enterprise Edition)NoNoNo
MySQLYes (Enterprise Edition)NoNoNo
PostgreSQLYes (Enterprise Edition)NoNoNo
SQL ServerYes (Enterprise Edition)NoNoNo
MongoDBYes (Enterprise Edition)NoNoNo
AWS DynamoDBYes (Enterprise Edition)NoNoNo
ClickHouseYes (Enterprise Edition)NoNoNo
InfluxDBYes (Enterprise Edition)NoNoNo
TimeScaleDBYes (Enterprise Edition)NoNoNo
OracleYes (Enterprise Edition)NoNoNo
RedisYes (Enterprise Edition)NoNoNo
CassandraYes (Enterprise Edition)NoNoNo
Try EMQX Enterprise for Free
Connect any device, at any scale, anywhere.
Get Started →

Operability, Observability, and Compatibility

Each broker is user-friendly and equipped with essential logging and debugging features to monitor their status and troubleshoot issues effectively. They can run on various operating systems and public cloud platforms. Besides, EMQX has excellent support for Kubernetes Operator and Terraform.

Additionally, EMQX provides rich visual monitoring capabilities through HTTP API and Dashboard, making it easier to monitor and manage. In addition, EMQX supports integration with Prometheus and Grafana, enabling O&M teams to use third-party monitoring platforms easily.

See: Monitoring MQTT broker with Prometheus and Grafana

EMQXMosquittoNanoMQVerneMQ
DashboardYesNoNoNo
ConfigurationHOCON FormatKey-value FormatHOCON FormatKey-value Format
Config Hot updateYesNoYes (Limited)No
REST APIYesYesYesYes
CLIYesYesYesYes
Remote ConsoleYesNoNoYes
MetricsYesYesYesYes
Grafana IntegrationYesYesYesYes
PrometheusYesYesYesYes
DockerYesYesYesYes
Kubernetes OperatorYesNoNoNo
TerraformYesNoNoNo

Head-to-Head Comparison Chart

Finally, we summarize an overall evaluation of the top open-source MQTT brokers in the following chart.

EMQXMosquittoNanoMQVerneMQ
ScalabilityExcellentModerateGoodGood
AvailabilityExcellentModerateModerateGood
PerformanceExcellentExcellentExcellentGood
LatencyExcellentGoodExcellentGood
ReliabilityGoodGoodGoodModerate
SecurityExcellentExcellentGoodGood
Authentication & AuthorizationExcellentGoodModerateGood
ConnectivityExcellentGoodGoodGood
IntegrationExcellentModerateModerateModerate
OperabilityGoodExcellentGoodModerate
ObservabilityExcellentModerateModerateGood
CompatibilityGoodExcellentExcellentGood
Ease of UseGoodExcellentGoodGood
Community SupportExcellentExcellentGoodModerate

Final Thoughts on the Comparison

Over the past decade, open-source MQTT brokers have led the way in innovating MQTT technology. These brokers have played a significant role in advancing the functionality, scalability, and interoperability of the MQTT messaging protocol. Without these contributions, MQTT may not have become as widely adopted and versatile as it is today.

Choosing an MQTT broker depends on various factors, such as the number of connected devices, message throughput, and integration requirements. From the comparison, we can conclude that EMQX is a highly scalable and enterprise-grade broker for large-scale, mission-critical deployments in the cloud. While Mosquitto and NanoMQ are fast and lightweight, making them suitable for deployment on resource-constrained embedded hardware, industrial gateways, and IoT edge servers.

While the Open Source version lays a solid foundation for IoT connectivity, EMQX provides an Enterprise version to elevate this with comprehensive support, advanced features, and a focus on security and reliability. For businesses aiming to scale their IoT solutions and ensure the highest levels of reliability and performance, EMQX Enterprise represents the logical choice.

Try EMQX Enterprise for Free
Connect any device, at any scale, anywhere.
Get Started →

To learn more about the differences between EMQX Open Source and Enterprise version, please refer to this blog to make an informed choice.

Future Developments

With the rapid expansion of IoT, the number of connected devices is predicted to exceed 100 billion by 2030. As a result, MQTT is poised to become even more indispensable and could potentially serve as the nervous system of the IoT.

Several exciting technological advancements are in the pipeline, including MQTT over QUIC, MQTT Serverless, MQTT Unified Namespace, and more. To learn more about these developments, feel free to check out our blog posts at:

References

1 125 billion IoT devices by 2030 says IHS Markit

2 Comparison of MQTT implementations

3 A Comparison of MQTT Brokers for Distributed IoT Edge Computing

4 Open MQTT benchmark suite blog series

5 MQTT broker comparison blog series

Try EMQX Cloud for Free
Get Started →

Related Posts