Inspect Nested Protobuf Messages
The decoder speculatively parses every length-delimited field as a sub-message, revealing arbitrarily deep nested structures — no schema needed. Paste Base64 or hex bytes and explore the full message tree.
In the protobuf wire format, nested messages, strings, bytes, and packed repeated fields all share
wire type 2 (length-delimited). The only way to distinguish a nested message from a raw byte string
at the wire level — without a .proto schema — is to attempt parsing the bytes as a
protobuf message and check whether it succeeds.
The Protobuf Decoder uses speculative parsing: every length-delimited field's bytes are recursively attempted as a protobuf message. If the bytes parse cleanly as valid field tags and wire types all the way through, the field is shown as an indented sub-tree. Otherwise, the tool falls back to UTF-8 string detection, then hex display.
This heuristic works well in practice: real nested messages almost always parse cleanly. Arbitrary binary data occasionally triggers false positives, but those sub-fields will be incomplete or show only a few fields — which is still useful for debugging.
How to inspect nested messages
- Paste Base64 or hex bytes of a complex protobuf message (such as a Kubernetes object, a Protobuf Any type, or a multi-level API response) into the Protobuf Decoder.
-
Click Decode. Fields shown as
[nested · NB · M fields]are length-delimited sub-messages that were successfully parsed recursively. - Use Copy as JSON to export the full tree, including all nested objects, as a JSON document.