Skip to main content

Protobuf Decoder

Decode Protocol Buffers bytes without a schema, or with a pasted .proto file to see named fields. Encode JSON to protobuf too. Private.

Input

Stays in your browser

Shortcuts: Ctrl+Enter run · Ctrl+Shift+C copy result · / search (use ⌘ on Mac)

Next steps

Done here? Use the Send to… menu on the result to carry it on to JSON Beautifier.

Free Online Protobuf Decoder

Paste protobuf bytes and see every field. With no schema the tool guesses what each value is. Paste a .proto file to get names, enums and nested messages. It gives developers a quick browser-based way to solve a focused protobuf decoder task before moving the result into a project.

How to use Protobuf Decoder

Choose "Without a schema", "With a .proto" or "Encode JSON". Paste hex or Base64, or open a file.

Common mistakes

  • Pasting gRPC data with its 5-byte prefix: remove the first 5 bytes (flag and length).
  • Using a .proto that does not match the data: field numbers must be the same.

Frequently asked questions

Why does it guess?
The wire format does not say whether a varint is a number, a boolean or a zigzag-encoded value, or whether a length-delimited field is text, bytes or a nested message. All likely readings are shown.
Which .proto features are supported?
Messages, nested messages, enums, repeated and optional fields, oneof and maps. Imports and options are ignored.
What are unknown fields?
Fields in the data that the .proto does not define are kept as _unknown_N so nothing is hidden.
Is my data uploaded?
No. Compression runs in your browser and nothing you paste or open is sent to a server.
How do I use this protobuf decoder tool?
Use the interactive controls above; processing stays in your browser and the result is intended as a practical starting point for development work.

More Code & Conversion

View all Code & Conversion tools →