Parse gRPC frame headers, compression flags, message length, decode Protobuf wire format fields
Zero Dependencies Β· Works OfflineThe gRPC Message Decoder is a free online developer tool that parses gRPC message frame structure, including the 5-byte header (compression flag + message length) and Protobuf-encoded message body. It automatically decodes Protobuf wire format, showing each field's field_number, wire_type, and value. Supports recursive decoding of nested messages. Ideal for gRPC debugging, Protobuf protocol analysis, and microservice communication troubleshooting. All parsing is done locally in the browserβyour data is never uploaded to any server.
1. Select input format (hex or Base64) and paste gRPC message data.
2. Click "Decode" or use the Ctrl+Enter shortcut.
3. View the detailed parsing results for the gRPC frame header and Protobuf fields.
4. Click "Copy Result" to copy the parsed results or download as a JSON file.
Developers debugging gRPC microservice communication can capture binary data and use this tool to parse message structure and field values.
Analyze unknown Protobuf message formats by decoding wire format to infer field types and structure.
Operations teams troubleshooting gRPC inter-service communication issues can analyze message frames to locate data anomalies.
gRPC uses HTTP/2 as the transport layer, with messages transmitted in Length-Prefixed Message format: 1-byte compression flag (0=uncompressed, 1=GZIP compressed) + 4-byte message length (big-endian) + message body. The message body uses Protocol Buffers encoding, where each field consists of a tag (field_number<<3|wire_type) and value. Wire type definitions: 0=Varint (int32/int64/bool/enum), 1=64-bit (fixed64/sfixed64/double), 2=Length-delimited (string/bytes/nested messages), 5=32-bit (fixed32/sfixed32/float). Varint encoding uses 7-bit groups + MSB continuation flag, providing high encoding efficiency for small values.
A gRPC message frame consists of a 5-byte header (1-byte compression flag + 4-byte message length) and the message body for transmitting Protobuf-encoded data over HTTP/2.
Protobuf wire format is the binary encoding format of Protocol Buffers, where each field consists of a varint-encoded field_number+wire_type and the corresponding value.
The tool can detect the compression flag but does not decompress GZIP payloads in the current version. It will indicate the message is compressed.
No. All decoding is performed locally in your browser.
All standard wire types: 0(Varint), 1(64-bit), 2(Length-delimited), 3/4(deprecated), 5(32-bit).
Yes. Wire type 2 (Length-delimited) fields will attempt to recursively decode nested Protobuf messages.