🔌 Protobuf Decoder
Decode Protocol Buffers binary data (hex or base64) to JSON without a .proto file
About this tool
Protocol Buffers (protobuf) is Google's language-neutral binary serialization format. This decoder reads the raw wire format and extracts every field — field number, wire type, and value — without needing the original .proto schema file.
Example: the hex bytes 08 96 01 12 07 74 65 73 74 69 6e 67 decode to field 1 (varint, value 150) and field 2 (string, value "testing"). Varints are shown in unsigned, signed, and zigzag interpretations so you can infer the original type.
Nested messages are decoded recursively and shown as indented subtrees. Length-delimited fields that look like valid UTF-8 are displayed as strings; otherwise the raw hex bytes are shown.
FAQ
Do I need the .proto file to decode? ›
No — this decoder works on raw wire format alone. Without a schema, fields appear as numbers rather than names, but all values are extracted and shown with their wire types.
What are zigzag values? ›
Protocol Buffers uses zigzag encoding for signed integer types (sint32, sint64). Positive numbers encode to even values, negative to odd values. The decoder shows both the raw varint and the zigzag-decoded signed interpretation.
Why do some fields show "(embedded message)"? ›
Length-delimited fields can contain strings, byte arrays, or nested protobuf messages. If the payload can be decoded as a valid protobuf message, it is shown as an embedded message with its own fields.
What input formats are supported? ›
Hex (with or without spaces, e.g. <code>08 96 01</code> or <code>089601</code>) and standard Base64. The tool auto-detects the format on paste.