Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.

ViewShows
AutoJSON for objects and arrays, text for other UTF-8, hex for binary. JSON scalars such as 42 stay text.
TextUTF-8 with invalid bytes replaced.
JSONPretty-printed JSON with sorted keys; text if invalid.
HexA hexdump -C style dump.
Base64Standard 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.