Protobuf & JWT Visualizer
Decode Base64, Hex encoded Protobuf data, or parse JWT tokens into a tree view. Inspect binary data structures directly in your browser.
Schema (Optional)
Input Data
About Protobuf Visualization
Decode Protobuf and JWT data
Protobuf is great for performance but impossible to read by eye. This visualizer turns Base64 or hex-encoded Protobuf into clear, structured trees. No command-line tools or custom code required.
Paste your data and see it decoded right away. Useful for debugging APIs, inspecting messages, or figuring out what a byte sequence actually represents.
How Protobuf encoding works
Protobuf uses compact binary encoding with tags for field numbers and wire types. It is not like JSON or CSV. You cannot just split the data at boundaries. The encoding is base-128 varints, which means each byte uses 7 bits for data and 1 bit to indicate whether more bytes follow.
Decodes to three fields: integer 150, "Hello World", and "world".
JWT decoding
JWTs hide their payload in Base64. This tool decodes it so you can debug auth issues or audit what a token actually contains.
Header, payload, and signature. The tool decodes the payload into readable JSON so you can inspect what the token is actually saying.
What this tool does
- Multi-format — Base64, hex, or JWT in one tool
- Real-time updates — Updates as you type
- Tree view — Expandable nested structures
- Copy output — One-click JSON export
- 100% local — No data leaves your browser
- No schema needed — Decode raw binary directly
Do not paste production JWTs here. For sensitive data, use local tools like jwt.io instead.
What this is good for
Debug gRPC APIs and see what the server actually returned. Decode JWT payloads to check claims and expiration. Examine Kafka or RabbitMQ binary payloads. Figure out what unknown binary data represents. Learn how Protobuf field tags and varint encoding actually work.
Common questions
Do I need a .proto schema file? No. For basic inspection you can decode without a schema. You will see field numbers and wire types, but not the semantic names.
Garbled JWT output? Usually means the payload is not valid UTF-8 JSON. Check that the token was created correctly.
Is data sent to servers? No. Everything runs locally in your browser. Works offline too.
Size limits? Up to 5MB. For bigger payloads, split the data or use desktop tools.