Wire report

Candidate interpretations need confirmation with your schema. Field offsets are zero-based byte positions.

Protocol Buffers wire format

Tags combine a field number and wire type. Types 0, 1, 2 and 5 encode varints, 64-bit values, length-delimited values and 32-bit values; 3 and 4 delimit legacy groups. Numeric readings may represent several declared types. Packed values remain available as raw bytes.

Reference: Google Protocol Buffers encoding guide. This independent tool is not affiliated with Google.

How to use Protobuf Decoder

Paste hex or Base64, or open a binary message. Decode raw Google Protocol Buffers locally; no payload is uploaded.

  1. Choose Hex or Base64 and paste a raw message, or open a binary file up to 64 KiB.
  2. Press Decode to inspect field numbers, wire types and candidate interpretations.
  3. Copy the JSON wire report. Use the original .proto schema to confirm types and names.

Questions

Can it recover field names without a .proto file?

No. Wire bytes preserve field numbers and wire types, not original field names or declared types. JSON here is an inspection report, not schema-aware ProtoJSON.

Are nested messages and strings certain?

No. Length-delimited fields can be bytes, UTF-8 strings, submessages or packed values. Raw hex is always retained; UTF-8 and nested message interpretations are labelled as candidates.

Does it accept gRPC traffic?

It expects one raw, uncompressed Protobuf message. Remove transport framing or decompress it with your own tooling first. It does not decode gRPC frames or fetch URLs.

What are the limits?

64 KiB of decoded data, 4096 fields and 12 nesting levels. Parsing stays in this browser. Integer interpretations are decimal strings to preserve all 64 bits. Deprecated groups are supported; malformed fields are rejected.

Ratings & reviews

No ratings yet. Signed-in users can rate this app.