Tested tool guide
Tested browser tools
Checked August 16, 2026
What Protocol Buffer Decoder does, with a checked example
A Protocol Buffer message is a stream of tag-value pairs, and every tag carries its own field number and wire type, so the bytes can be read even when the .proto file is missing. This tool takes pasted hex (or raw bytes) and walks the stream: it resolves each varint tag, then parses the value that follows. What surprises people most is how much stays unknown: an integer could be signed, unsigned, a bool, or an enum, and a length-delimited chunk could be text, bytes, or another nested message. The output is a best-effort reading, not the schema.
Worked example
A concrete input and expected output from the current implementation.
Input
0a02686910960119000000000000f03f
->
Expected output
field 1 (wire 2, length-delimited): "hi"
field 2 (wire 0, varint): 150
field 3 (wire 1, 64-bit): 1.0 (double, hex 0x3FF0000000000000)
The tag bytes 0x0A, 0x10, and 0x19 decode to field 1 with wire type 2, field 2 with wire type 0, and field 3 with wire type 1. The varint 0x96 0x01 carries 22 + 128 = 150, and the final eight bytes are little-endian IEEE 754 for 1.0 (0x3FF0000000000000).