The explorer encodes a message against a schema and annotates its tags, wire types, length prefixes, and payloads, on data you control.
Try modifying the JSON data below or clicking the example buttons to see how the binary stream changes. Click any segment in the encoded stream to inspect how its tag, length, and payload were parsed. The schema is editable too, so you can rename a field and watch the bytes stay identical, or renumber one and watch them change.
JSON input
Encoded stream (hex)
Further Reading
- Tip of the week #7: Scoping it out
The command-line version of this page: disassembling real payloads with buf convert and protoscope.
Next
Community
Where Protobuf came from, who runs it at scale, and where to ask questions.