This MQTT glossary defines the 60 terms you will meet in specifications, broker docs and client library APIs, from ACL to Will Delay Interval. Each entry is a short, plain-English definition with a pointer to a deeper article where one exists, so you can decode any MQTT conversation and know where to read more.
How to Use This MQTT Glossary
Terms are grouped alphabetically. Where a term applies only to MQTT 5.0 it is marked "(MQTT 5)". Examples use the free public broker at broker.connectmq.com and topics under a prefix such as connectmq/demo/ab12/. Anything published there is readable by everyone, so keep test data harmless. If you are completely new to the protocol, the complete MQTT tutorial is a better starting point; come back here when a term trips you up.
MQTT Glossary: A to C
ACL (Access Control List). Rules on a broker that decide which clients may publish or subscribe to which topics. Implementation varies by broker.
Authentication. Proving a client's identity to the broker, usually with a username and password in the CONNECT packet, a client certificate, or a token.
Authorization. Deciding what an authenticated client is allowed to do. Distinct from authentication, though often confused with it.
AUTH packet (MQTT 5). A control packet for extended authentication exchanges such as challenge/response mechanisms.
Bridge. A link that makes one broker act as a client of another so selected topics flow between them. See MQTT bridging.
Broker. The server that receives every published message and routes it to matching subscribers. Our explainer on what an MQTT broker does goes deeper.
Clean Session (MQTT 3.1.1). A CONNECT flag. When true, the broker discards any previous session state for the client ID; when false, state is kept.
Clean Start (MQTT 5). The MQTT 5 replacement for Clean Session. It only controls whether an existing session is reused; how long a session lives is set separately by Session Expiry Interval.
Client. Any program or device that connects to a broker, whether it publishes, subscribes or both.
Client ID. The identifier a client sends in CONNECT. The broker uses it to find the session, so it must be unique per connection. On ConnectMQ private brokers, client IDs are bound to issued credentials.
Control packet. One of the fixed MQTT message types, such as CONNECT, PUBLISH or SUBSCRIBE.
Correlation Data (MQTT 5). Bytes a requester attaches to a message so it can match the response that comes back.
B Is for Birth: Sparkplug Terms
Birth certificate (Sparkplug). NBIRTH and DBIRTH messages that announce a node or device and the full list of its metrics when it comes online.
Death certificate (Sparkplug). NDEATH and DDEATH messages marking a node or device offline; NDEATH is typically registered as the MQTT Will.
Edge of Network (EoN) node (Sparkplug). A gateway that publishes Sparkplug data on behalf of devices behind it.
Host application (Sparkplug). The primary consumer, often SCADA, that tracks node state and can send commands.
Sparkplug B. An Eclipse specification that defines topic structure, Protobuf payloads and state management on top of MQTT. Read Sparkplug B and Unified Namespace for the full picture.
MQTT Glossary: D to M
DUP flag. Set on a PUBLISH that is being re-sent because the original acknowledgement was not received.
Fixed header. The first two to five bytes of every MQTT packet: packet type, flags and remaining length.
Inflight window. The number of QoS 1 and QoS 2 messages a client or broker has sent but not yet seen acknowledged.
ISA-95. An industrial standard for enterprise/control hierarchy (enterprise, site, area, line, cell) often mirrored in MQTT topic trees.
Keep Alive. The maximum interval in seconds between packets from a client. If nothing else is sent, the client sends PINGREQ; if the broker hears nothing for one and a half times the interval, it closes the connection.
Last Will and Testament (LWT). A message the broker publishes on the client's behalf if it disconnects unexpectedly. Commonly used for online/offline status.
Maximum Packet Size (MQTT 5). A limit each side can advertise for the largest packet it will accept.
Message Expiry Interval (MQTT 5). A lifetime in seconds after which an undelivered message is discarded.
MQTT. A lightweight publish/subscribe messaging protocol over TCP, standardized by OASIS in versions 3.1.1 and 5.0.
MQTT-SN. MQTT for Sensor Networks, a variant for UDP and non-IP datagram networks that needs a gateway. See MQTT-SN explained.
mTLS (mutual TLS). TLS where the client also presents a certificate so the broker can authenticate it.
N to Q
Payload. The application data inside a PUBLISH. MQTT treats it as opaque bytes; JSON, Protobuf and plain text are all common.
Payload Format Indicator (MQTT 5). A flag declaring whether the payload is UTF-8 text or unspecified bytes.
Persistent session. Session state (subscriptions, queued messages) kept by the broker across disconnects.
PINGREQ / PINGRESP. The keep-alive heartbeat packets.
PUBACK. Acknowledgement for a QoS 1 PUBLISH.
PUBREC, PUBREL, PUBCOMP. The three additional packets of the QoS 2 four-step handshake.
PUBLISH. The packet that carries a message to or from the broker.
Publisher. A client that sends messages to a topic.
QoS (Quality of Service). The delivery guarantee per message: 0 at most once, 1 at least once, 2 exactly once. Details in MQTT QoS levels explained.
Quota. A broker-enforced limit such as connections, message rate or message size. MQTT 5 brokers can report exceeding one with reason code 0x97.
R to S
Reason code (MQTT 5). A one-byte status in acknowledgements and DISCONNECT that explains success or failure, such as 0x87 Not authorized.
Receive Maximum (MQTT 5). How many unacknowledged QoS 1/2 messages a side is willing to process at once; a form of flow control.
Response Topic (MQTT 5). A topic named in a request where the responder should publish its answer.
Retained message. A message the broker stores as the last known value for a topic and delivers to every new subscriber. Try it: mosquitto_pub -h broker.connectmq.com -i gl-ab12 -t connectmq/demo/ab12/state -m on -r.
Session. The state the broker holds for a client ID: subscriptions, inflight messages and queued messages.
Session Expiry Interval (MQTT 5). How many seconds the broker keeps a session after disconnect. The public test broker allows up to 30 minutes.
Shared subscription (MQTT 5). A subscription of the form $share/group/topic that load-balances messages across members of a group.
SUBACK. The broker's response to SUBSCRIBE, granting a QoS or returning an error per topic filter.
Subscriber. A client that receives messages for topic filters it has subscribed to.
SUBSCRIBE / UNSUBSCRIBE. Packets to add or remove topic filters.
Subscription identifier (MQTT 5). A number attached to a subscription and echoed back on matching messages so the client knows which subscription caused delivery.
$SYS topics. Broker-reserved topics, usually starting with $SYS/, that expose status information. For example, ConnectMQ publishes connection state at $SYS/broker/connection/{clientId}/state.
T to Z
TLS (Transport Layer Security). Encryption for the TCP connection, normally on port 8883. Covered in MQTT ports explained.
Topic. A UTF-8 string with levels separated by /, such as plant1/line2/temp, used to route messages.
Topic alias (MQTT 5). A small integer that replaces a long topic name in later PUBLISH packets on the same connection to save bandwidth.
Topic filter. The pattern used in a subscription, which may contain wildcards.
Topic level. One segment between slashes. The public test broker at broker.connectmq.com allows up to 8 levels.
Unified Namespace (UNS). An architecture where all industrial data is published to one hierarchical topic tree as the single source of truth.
User Properties (MQTT 5). Custom key/value pairs in packet headers, similar to HTTP headers.
WebSocket transport. MQTT carried in WebSocket frames so browsers can connect, typically on 8083 (ws) or 8084 (wss) with a path like /mqtt.
Wildcard. + matches exactly one topic level; # matches all remaining levels and must be last.
Will Delay Interval (MQTT 5). Seconds the broker waits before publishing the Will, giving the client a chance to reconnect first.
Quick Reference Table
| You hear | It means | Version |
|---|---|---|
| QoS 1 | At-least-once delivery with PUBACK | 3.1.1 and 5 |
| Retained | Last value stored per topic | 3.1.1 and 5 |
| LWT | Message sent on unexpected disconnect | 3.1.1 and 5 |
| Clean Start | Reuse or discard session on connect | 5 |
| Session expiry | How long the broker keeps state | 5 |
$share/ |
Shared subscription prefix | 5 |
| 0x97 | Quota exceeded | 5 |
Put the Vocabulary to Work
Definitions stick once you see them on the wire. Connect any client to broker.connectmq.com on port 1883 with a unique client ID, subscribe to connectmq/demo/<your-id>/#, and try retained messages, a Last Will and QoS 1 publishes yourself. When you are ready for authentication, TLS and an isolated namespace, a fully managed MQTT service like ConnectMQ supports both MQTT 3.1.1 and 5.0, so nearly every term above maps to something you can switch on.
Get Started with ConnectMQ
Open app.connectmq.com, choose the free Serverless plan (no credit card), create a broker and copy the generated username, password and client ID. ConnectMQ's in-browser MQTT client is the fastest way to test retained messages, LWT and session expiry while you learn.
Frequently Asked Questions
What is the difference between a topic and a topic filter?
A topic is the exact name a message is published to. A topic filter is the pattern a subscriber uses, which may include + and # wildcards.
Is Clean Session the same as Clean Start?
They are related but not identical. Clean Session in MQTT 3.1.1 controls both reuse and lifetime of a session, while MQTT 5 splits that into Clean Start and Session Expiry Interval.
Which glossary terms only exist in MQTT 5?
Reason codes, user properties, topic aliases, shared subscriptions, message expiry, session expiry, response topic, correlation data and the AUTH packet are all MQTT 5 additions.
Are Sparkplug terms part of the MQTT standard?
No. Sparkplug B is a separate Eclipse specification that defines conventions on top of MQTT; any compliant broker can carry it.



