On this page
Overview
Eclipse Mosquitto is a broker implementation for MQTT 5.0, 3.1.1, and 3.1. It includes mosquitto_pub and mosquitto_sub CLI tools, C/C++ client libraries, and broker features for authentication, ACLs, plugins, persistence, WebSockets, and TLS.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Broker MQTT 5.0, 3.1.1, and 3.1 publish/subscribe traffic
Mosquitto implements multiple MQTT protocol versions and routes topic-based publications between connected clients.
Sources: [1]
Exercise publish, subscribe, and request/reply flows from the CLI
mosquitto_pub, mosquitto_sub, and mosquitto_rr make it possible to verify topics, QoS, and connection behavior before integrating an application.
Sources: [1]
Best fit
Fits self-hosted lightweight pub/sub for IoT devices and services
Mosquitto works well as an MQTT broker for telemetry, commands, local gateways, and lightweight service messaging.
Sources: [1]
Before adoption
Configure authentication and listener policy before remote exposure
Starting without configuration enables anonymous access only from the local machine for initial testing. Remote listeners should be explicitly configured with authentication and authorization rather than exposing a public anonymous broker.
Sources: [1]
Review 2.1-series default changes and deprecations before upgrading
Version 2.1.0 changes the default max_packet_size to 2,000,000 bytes and deprecates acl_file and password_file in favor of plugin implementations, so existing broker configuration should be reviewed.
Sources: [2]
Official sources
- [1]Mosquitto 2.1.2 README(2026-10-04)
- [2]Mosquitto 2.1.2 ChangeLog(2026-10-04)
- [3]Mosquitto v2.1.2 signed tag(2026-10-04)
- [4]Mosquitto dual-license declaration(2026-10-04)
Supplemental curator note
Starting Mosquitto without a configuration is convenient for local testing because anonymous access is restricted to the local machine, but do not expose a broker publicly with anonymous access. The 2.1 series also changes defaults such as max_packet_size and deprecates password/ACL file options in favor of plugins, so review the changelog when upgrading from 2.0.
Try it in 3 steps
- 1
Fetch the Mosquitto 2.1.2 source
Pin the source checkout to signed tag v2.1.2.
git clone --depth 1 --branch v2.1.2 https://github.com/eclipse-mosquitto/mosquitto.git mosquitto-2.1.2 - 2
Configure a minimal broker-only CMake build
Generate a broker-focused build without TLS, WebSockets, tests, docs, clients, apps, or plugins, using bundled dependencies where supported.
cmake -S mosquitto-2.1.2 -B mosquitto-2.1.2/build -DWITH_TLS=OFF -DWITH_WEBSOCKETS=OFF -DWITH_TESTS=OFF -DWITH_DOCS=OFF -DWITH_CLIENTS=OFF -DWITH_APPS=OFF -DWITH_PLUGINS=OFF - 3
Build the broker binary and print help
Validate the broker executable without opening a network listener.
cmake --build mosquitto-2.1.2/build --target mosquitto && ./mosquitto-2.1.2/build/src/mosquitto -h
Growth
Growth trends · Last 30 days
11,245 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 0
- Open PRs
- 112
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- mqtt
- broker
- mosquitto
- eclipse-iot
- iot
- messaging
- mqtt-broker
- mqtt-client
- mqtt-server
- Stars
- 11,245
- Forks
- 2,646
- Watchers
- 275
- Open issues
- 791
- Contributors
- 170
- Owner type
- Organization
- Primary language
- C
- License
- EPL-2.0 OR BSD-3-Clause
- Repository last updated
- Sep 3, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Apache HTTP Server4,035 Stars
1 shared tag(s) · 2 shared category(s) · Same language
run web serving, TLS, virtual hosts, and reverse proxying through a modular server configuration
C - Apache ActiveMQ Classic2,464 Stars
1 shared tag(s) · 2 shared category(s)
self-host enterprise messaging with a Java broker supporting JMS, AMQP, MQTT, STOMP, and WebSocket transports
Java - Redis76,574 Stars
1 shared tag(s) · 1 shared category(s) · Same language
Run caching, search, vectors, and Streams on one low-latency data platform
C - curl43,016 Stars
1 shared tag(s) · 1 shared category(s) · Same language
share URL-based transfer capabilities between a CLI and libcurl
C - NGINX31,781 Stars
1 shared tag(s) · 1 shared category(s) · Same language
run web delivery, reverse proxying, and load balancing while choosing between mainline and stable streams
C - PostgreSQL22,264 Stars
1 shared tag(s) · 1 shared category(s) · Same language
combine SQL transactions, constraints, indexes, and extensible types/functions in an object-relational database engine
C
Report incorrect information
Tell us if any listing information is incorrect or outdated.