Skip to content

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
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "Hiro Protagonist",
  "email": "hiro@metaverse.com",
  "age": 24,
  "heightCm": 175.5,
  "weightKg": 70.2,
  "role": 2,
  "birthDate": {
    "year": 1992,
    "month": 5,
    "day": 22
  }
}
Encoded stream (hex)

No Message Schema

Please define a valid message schema to begin encoding

Further Reading

Next

Community

Where Protobuf came from, who runs it at scale, and where to ask questions.