Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Message Broker Software
  3. Moquette

Moquette

What it is

Moquette is a free, lightweight Java MQTT broker for Internet of Things projects. It supports MQTT 3 and MQTT 5, with QoS 0, QoS 1, and QoS 2, and can run as a broker or be embedded in another application. Documented MQTT 5 functions include session and message expiry, shared subscriptions, request/response, topic aliases, flow control, subscription options, will delay, server disconnects, and payload format indicators. Operators can configure SSL using broker and client keystores and certificates. Authentication can use a password file with usernames and SHA-512 password hashes; topic access controls include user-specific and pattern-based ACLs, plus customizable authorization. Moquette shares its configuration file format with Eclipse Mosquitto. The project documents downloading and launching a broker distribution on Linux or Windows, building a self-contained bundle from source, and embedding through JitPack. It has an event-driven design using Netty for protocol encoding and decoding. Some users have run it in Android applications, for which the documentation lists configuration changes. Its license is Apache-2.0; the project links to documentation and a mailing list.

For and against

For

  • Supports MQTT 3 and MQTT 5.
  • Offers QoS 0, 1, and 2.
  • Can be embedded in other applications.
  • Documents SSL, authentication, and topic ACLs.
  • Free under the Apache-2.0 license.

Against

  • Several MQTT 5 features are unsupported.
  • The project is not designed for clustering.
  • Android use requires project configuration changes.

The verdict

Moquette provides MQTT broker functions with documented deployment, embedding, and access-control options. Its unsupported MQTT 5 features and lack of cluster design are important constraints to consider.

Who it suits

Moquette suits developers building IoT projects who need an MQTT 3 or MQTT 5 broker that can be embedded or self-hosted. Its documented security and access-control options may suit deployments requiring configured authentication and topic permissions.

On the record

Access control
Moquette documents user-specific and pattern topic ACLs, plus pluggable authentication and authorization interfaces.moquette-io.github.io · read 9 Oct 2026
Android
The documentation says some users have run Moquette in Android applications and lists Android project configuration changes for that setup.moquette-io.github.io · read 9 Oct 2026
Architecture
The README says Moquette is event-driven and uses Netty for protocol encoding and decoding.github.com · read 9 Oct 2026
Authentication
The documentation describes storing user credentials in a password file as username and SHA-512 password hash entries.moquette-io.github.io · read 9 Oct 2026
Authorization
The documentation describes user-specific and pattern-based topic access control lists and a customizable authorization policy.moquette-io.github.io · read 9 Oct 2026
Build
The repository README says the project can be built from source with ./gradlew package, producing a self-contained distribution bundle.github.com · read 9 Oct 2026
Cluster support
The release notes state that Hazelcast was dropped because Moquette was not designed to be clusterizable.github.com · read 9 Oct 2026
Community and support
The project README invites community feedback and links to its documentation reference guide.github.com · read 9 Oct 2026
Company information
The opened maker pages identify Moquette as a Java MQTT broker but do not state a company headquarters or founding year.moquette-io.github.io · read 9 Oct 2026
Configuration compatibility
The documentation says Moquette shares the same configuration file format as Eclipse Mosquitto.moquette-io.github.io · read 9 Oct 2026
Distribution
The documentation describes downloading a broker distribution tar archive and starting it with a shell script or Windows batch file.moquette-io.github.io · read 9 Oct 2026
Embedding
The maker says Moquette can be embedded in other projects and documents resolving its dependency with JitPack.github.com · read 9 Oct 2026
License
The repository identifies the project license as Apache-2.0.github.com · read 9 Oct 2026
MQTT 5 features
Listed features include session and message expiry, shared subscriptions, request/response, topic alias, flow control, subscription options, will delay, server disconnects, and payload format indicator.github.com · read 9 Oct 2026
MQTT 5 limits
The 0.18 release notes say enhanced authentication, maximum packet size limitation, server reference, and server assigned client ID are not supported.github.com · read 9 Oct 2026
Network security
The documentation describes configuring SSL connections with a broker keystore and importing the broker certificate into a client keystore.moquette-io.github.io · read 9 Oct 2026
Product
Moquette is a lightweight Java MQTT broker for Internet of Things projects that can be embedded in other applications.moquette-io.github.io · read 9 Oct 2026
Protocols
The broker is described as compliant with MQTT 5 and MQTT 3 and supports QoS 0, QoS 1, and QoS 2.github.com · read 9 Oct 2026

The review

Moquette is a lightweight, Java-based MQTT broker for IoT systems, with a self-hosted distribution and an embedding model for applications that need broker functions inside their own process. It suits developers who want an Apache-2.0 component they can build, configure, and secure themselves. The trade-off is a deliberately non-cluster architecture and an incomplete set of MQTT 5 capabilities.

Overview

Moquette is an event-driven broker built on Netty for protocol encoding and decoding. It supports MQTT 3 and MQTT 5, with configurable delivery guarantees across QoS 0, QoS 1, and QoS 2. That combination makes it a practical fit for embedded IoT gateways, prototypes, and controlled self-hosted deployments where Java integration matters more than managed operations.

Deployment is flexible without being turnkey. You can download a distribution tar archive and launch it with a shell script or Windows batch file, or build from source with ./gradlew package to produce a self-contained bundle with dependencies and a running script. The shared configuration-file format with Eclipse Mosquitto can reduce migration friction for teams already using that broker.

Key features

MQTT and embedding

Moquette documents MQTT 5 and MQTT 3 support, including session and message expiry, shared subscriptions, request/response, topic aliases, flow control, subscription options, will delay, server disconnects, and payload-format indicators. It can also be embedded in another project, with dependency resolution documented through JitPack. That is its clearest advantage over a purely standalone broker: an application can include broker functionality without adopting a separate service boundary.

Security and authorization

SSL setup uses broker and client keystores and certificates, giving self-hosted operators a documented path to encrypted connections. Authentication can use a password file containing usernames and SHA-512 password hashes. User-specific and pattern-based topic ACLs, plus pluggable authentication and authorization interfaces, allow policies to match different tenants or application roles instead of relying on one global rule set.

Important limits

The 0.18 release notes say enhanced authentication, maximum-packet-size limitation, server reference, and server-assigned client ID are unsupported MQTT 5 features. Moquette also dropped Hazelcast because it was not designed to be clusterizable. It is therefore a poor fit when horizontal clustering, failover design, or those protocol features are mandatory.

Pricing

Moquette is free software with no free trial because there is no paid plan. The Apache-2.0 license supports internal use, embedding, and source builds without a subscription. You take on deployment, upgrades, security configuration, and operational responsibility yourself rather than paying for a hosted service.

Platforms

Supported platforms are Android, API integrations, Linux, self-hosted environments, and Windows. The documentation provides a Windows launch command using moquette.bat. Android use is documented as a setup requiring project configuration changes, so it is most appropriate for developers prepared to integrate and maintain the broker inside an Android application.

Who it's for

Choose Moquette for Java IoT projects, embedded gateways, lab deployments, and teams that want a free broker they can package with an application. Its configurable QoS, topic ACLs, pluggable authorization, and keystore-based SSL suit products needing controlled access without a hosted dependency.

Look elsewhere if your architecture depends on broker clustering, managed scaling, or complete MQTT 5 coverage. The self-hosted model also means your team must handle runtime operations and certificate, credential, and policy administration.

Pros and cons

  • Pro: Embedding through a documented JitPack dependency lets Java applications incorporate broker capabilities directly.
  • Pro: MQTT 3/5 support, QoS 0–2, shared subscriptions, expiry controls, and other MQTT 5 features cover common IoT messaging patterns.
  • Pro: SSL keystores, SHA-512 password-file authentication, and user or pattern ACLs provide concrete self-hosted security controls.
  • Pro: Mosquitto-compatible configuration and standalone Linux or Windows distributions simplify familiar deployments.
  • Con: Enhanced authentication, packet-size limits, server reference, and server-assigned client IDs are unsupported.
  • Con: The project is not designed for clustering, ruling it out for architectures that require Hazelcast-style distribution or broker failover.
  • Con: Android integration requires project-level configuration changes rather than a plug-and-play install.

Alternatives

Pick Lightstreamer instead when you need a freemium option with a free demo license capped at 20 concurrent client connections, a trial, and hosted or mobile platform coverage. Eclipse Amlen is another free, self-hosted broker spanning Android, API, iOS, Linux, and web deployments. Choose SocketCluster for a free MIT-licensed self-hosted option with web and mobile platform coverage.

ApsaraMQ for MQTT is the alternative for paid subscription service with connection, messaging-TPS, and subscription-based instance fees. Amazon SNS suits API and web users wanting a freemium service with a monthly free tier of 1 million requests, 100,000 HTTP notifications, and 1,000 email notifications. CloudAMQP offers hosted freemium plans, including a free tier limited to 200 queues, 20,000 queued messages, a shared broker, a 2 million-message monthly quota, and 40 connections.

EMQX is the stronger alternative when you want a freemium serverless model with up to 1,000 connections and a usage-based allowance. HiveMQ MQTT Broker provides freemium Lab and Launch plans, including a Launch price of $299 per month and a Lab allowance of 100 connections and 100 messages per second.

Verdict

Moquette is a strong choice for Java developers building self-hosted or embedded IoT messaging, especially when free licensing, configurable QoS, and documented access controls matter. Choose another broker when clustering, managed operations, or the unsupported MQTT 5 features are central requirements.

Alternatives to Moquette

Every alternative, ranked