Concept
MQTT QoS
MQTT QoS (Quality of Service) defines a message's delivery guarantee at three levels: 0 (at most once), 1 (at least once) and 2 (exactly once).
MQTT QoS (Quality of Service) is the delivery guarantee attached to each MQTT message. There are three levels: QoS 0 delivers a message at most once, QoS 1 at least once and QoS 2 exactly once. Each step up adds acknowledgement packets and stored state, so it costs more traffic and memory in exchange for fewer lost or duplicated messages.
The three MQTT QoS levels
- QoS 0, at most once: the sender sends a single PUBLISH packet. The receiver sends no acknowledgement and the sender never retries, so the message arrives once or not at all.
- QoS 1, at least once: the receiver answers with PUBACK. Until then the sender keeps the message and resends it, with the DUP flag set, if the connection drops first. The message arrives, but it can arrive more than once.
- QoS 2, exactly once: a four-packet exchange (PUBLISH, PUBREC, PUBREL, PUBCOMP) lets both sides agree that the message was delivered once and only once. It is the slowest level and keeps the most state.
The specification gives two examples: QoS 0 for ambient sensor data, where losing one reading doesn't matter because the next one follows soon, and QoS 2 for billing systems, where a lost or duplicated message could lead to a wrong charge.
QoS applies per hop, not end to end
QoS covers each connection separately: from the publisher to the MQTT broker, then from the broker to each subscriber. When the broker forwards a message, it uses the lower of two values: the QoS the message was published with and the maximum QoS granted to that subscription. A message published at QoS 2 reaches a subscriber that subscribed at QoS 0 as a QoS 0 message.
QoS 1 and 2 also depend on the session. If a client reconnects to a persistent session, both sides resend any unacknowledged messages. If it connects with Clean Start, the pending state is discarded.
Which QoS level to use
- QoS 0 for frequent telemetry, where each reading replaces the previous one.
- QoS 1 for most events and alarms, provided the receiver can discard duplicates, for example by checking a timestamp or a message ID.
- QoS 2 when a duplicate has a real cost, such as in counting or billing, and the extra round trips are acceptable.
Frequently asked questions
What are the MQTT QoS levels?+
There are three: QoS 0 (at most once, no acknowledgement), QoS 1 (at least once, duplicates possible) and QoS 2 (exactly once).
Does QoS 2 guarantee end-to-end delivery?+
No. QoS works between a client and the broker on each hop, and the broker delivers at a lower QoS if the subscriber asked for less. Once the receiver acknowledges a message, the protocol makes no promise about what the application does with it.
Which MQTT QoS should I use for IoT sensors?+
For periodic readings, QoS 0 is often enough because the next reading makes up for a lost one. If every message counts, use QoS 1 and drop duplicates on the receiving side.
Related terms
Related articles

IoT Scalability: How to Go From 100 to 10,000 Devices
IoT scalability is never proven by the pilot: a 100-sensor deployment has nothing in common with a 10,000-device one, and the pilot works perfectly right up to
Oct 15, 2026

IoT Device Management: Provisioning, OTA, and Lifecycle
IoT device management starts to hurt the day a project stops being a pilot, and it always arrives as the same question: who holds the list of installed units, a
Oct 6, 2026

What Is NB-IoT? How Narrowband IoT Works and When to Use It
NB-IoT (narrowband IoT) explained: how it works, PSM and eDRX, NB-IoT vs LTE-M vs LoRaWAN vs Sigfox, operators in the US, Mexico and Spain, and when to use it.
Sep 22, 2026

IoT Smart Farming: A Practical Guide to Smart Agriculture
How IoT smart farming works: the sensors, GPS, and imagery behind precision agriculture, LoRaWAN vs cellular vs satellite, and how to run a first pilot.
Sep 22, 2026

LoRaWAN Network Server: What It Does and How to Choose
A LoRaWAN network server handles every message your sensors send, and the one you pick shapes your costs, who holds the keys, and how far the network can grow.
Sep 22, 2026

Industrial IoT Implementation: A Step-by-Step Plant Guide
An industrial IoT implementation in a running plant works when you respect the order: the problem first, then the signals, and the technology last.
Sep 17, 2026