Messages
Select a topic to inspect it in the resizable right panel. Levels without messages show counts for the topics and messages below them.
Click a level in the topic path to select it, or the copy button to copy the full path. Below the payload: QoS, retained flag, local receipt time and size. The time records arrival, since MQTT provides no message timestamp.
Payload views
Choose a view above the payload; rstmqtt remembers your choice.
| View | Shows |
|---|---|
| Auto | JSON for objects and arrays, text for other UTF-8, hex for binary. JSON scalars such as 42 stay text. |
| Text | UTF-8 with invalid bytes replaced. |
| JSON | Pretty-printed JSON with sorted keys; text if invalid. |
| Hex | A hexdump -C style dump. |
| Base64 | Standard padded Base64. |
The copy button beside the views copies the full payload in the chosen format, even when the display is truncated.
JSON tree
Auto and JSON show objects and arrays as expandable trees, with the first two levels open.
Right-click a member to Copy path or Copy value.
Paths look like detections[0].score; keys with spaces use brackets, as in ["x y"].
History
History lists recent messages, newest first, with receipt time, size and a preview. Pick an older entry to pause on it; pick the newest to follow live traffic again.
Diff with the previous message
Enable Diff with previous to compare the selected message with its predecessor.
Added lines show a green +, removed lines a red -; unchanged lines stay in place.
Both messages use the same view. JSON keys are sorted, so key order alone creates no diff.
MQTT 5 properties
v5 properties appears below payloads with MQTT 5 properties: content type, response topic, correlation data, expiry, UTF-8 flag and user properties.
Large payloads
Text rendering is limited to about 64 KiB until you choose Show all. Hex and Base64 fit fewer payload bytes into that space. Payloads over 64 KiB initially skip JSON parsing; choose Show all for the JSON view. Truncated messages are not diffed until shown in full.