Protobuf Decoder

What is a Protobuf Decoder?

Decode raw Protocol Buffers (`.proto) binary wire-format payload hex or <a href="https://en.wikipedia.org/wiki/Base64" target="_blank" rel="noopener noreferrer" class="text-indigo-600 dark:text-indigo-400 font-semibold hover:underline" title="Learn more about Base64 on official docs">base64</a> streams into field numbers, wire types, varints, fixed length values, and embedded sub-messages without requiring a .proto` schema file.

Why Use This Tool?

  • gRPC & Web API Debugging: Inspect raw gRPC binary responses from server network traffic without compiling `.proto` files.
  • Reverse Engineering Network Protocols: Reverse-engineer mobile app or web API binary Protobuf payloads.
  • Varint & ZigZag Inspection: Inspect wire-type field tags (Varint wire 0, 64-bit wire 1, Length-delimited wire 2, 32-bit wire 5).

How to Use

  1. Paste raw Protobuf binary stream as Hex string or Base64 text.
  2. The schemaless decoder parses field tags and wire types automatically.
  3. View parsed field numbers (`Field 1`, `Field 2`), wire types, and decoded string/number values.

Real Working Example

Input:

Protobuf Hex: 0a074a6f686e20446f65101e

Output Result:

Decoded Fields:
Field 1 (Wire Type 2 - Length Delimited): "John Doe"
Field 2 (Wire Type 0 - Varint): 30

Important Technical Details & Specifications

  • Schemaless Wire Format Engine: Decodes field numbers `(tag >> 3)` and wire types `(tag & 0x07)` dynamically.
  • Supports All Protobuf Wire Types: Wire 0 (Varint), Wire 1 (64-bit fixed), Wire 2 (Length-delimited string/bytes/message), Wire 5 (32-bit fixed).
  • Local Memory Security: Binary payloads are processed 100% locally in browser memory.

Related Data & Format Tools

Frequently Asked Questions

How does schemaless Protobuf decoding work without a .proto file?

Protobuf wire format encodes field numbers and wire types directly in tag bytes, allowing field numbers and data types to be identified without schema definitions.

What is a Protobuf Varint?

A Varint (variable-length integer) encodes integers using 1 to 10 bytes depending on magnitude, saving space for small numbers.

Is it free?

Yes, 100% free.

Can I paste base64 encoded gRPC headers?

Yes, input can be pasted as raw Hexadecimal bytes or Base64 text.

Are my Protobuf binary payloads saved on a server?

No, all decoding executes 100% locally inside your web browser.

What are field numbers in Protocol Buffers?

Field numbers are unique integer identifiers assigned to fields in a .proto schema (e.g. string name = 1).