Star on GitHubStar1.1k stars

Tool

Protobuf Decoder

Pawit Pornkitprasan's React web application for decoding Protocol Buffers data without the original .proto files, offered as a hosted page or run locally, with all decoding done in the browser. Pasted hex or base64 input, or an uploaded file, is split into a table of byte ranges, field numbers, wire types and contents: varints are shown as unsigned, two's-complement and zigzag integers, fixed32 and fixed64 values as integers and floating-point numbers, and length-delimited fields as nested messages when they parse cleanly, otherwise as UTF-8 strings or bytes. It skips a leading gRPC message header and can optionally split a stream of varint length-delimited messages.

Targets
Protocol
Category
Protocol analysis tools
Relationship
Foundation tool
Sources reviewed

Requirements & limits

  • No releases or tags; package.json declares a private 0.1.0 package. The reviewed master commit of 2026-10-17 is a Dependabot dependency bump, and the most recent functional changes added file upload in 2024 and varint length-delimited input in 2025. CircleCI runs the Vitest unit tests on Node 20.11 and uploads coverage to Codecov.
  • The hosted page at protobuf-decoder.netlify.app needs only a browser, and the app states that all decoding is done locally in JavaScript. Running it locally needs Node.js and npm: npm install, then npm start for the Vite development server, or npm run build for a static build.
  • Decoding is schema-less and heuristic: field names and declared types are not recovered, each length-delimited field is guessed to be a nested message, string or bytes, the source marks repeated-field support as a TODO, and the group wire types are not handled, so decoding stops there and the remaining input is shown as left-over bytes. It only decodes; there is no editing, re-encoding or proxy integration, and users supply their own captured messages.
  • MIT (Copyright 2019 Pawit Pornkitprasan).

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · pawitp/protobuf-decoder · Revision 7d0b5ed
  2. src/App.jsx GitHub · pawitp/protobuf-decoder · Revision 7d0b5ed
  3. src/protobufDecoder.js GitHub · pawitp/protobuf-decoder · Revision 7d0b5ed
  4. src/protobufPartDecoder.jsx GitHub · pawitp/protobuf-decoder · Revision 7d0b5ed
  5. src/ProtobufPart.jsx GitHub · pawitp/protobuf-decoder · Revision 7d0b5ed
  6. package.json GitHub · pawitp/protobuf-decoder · Revision 7d0b5ed
  7. .circleci/config.yml GitHub · pawitp/protobuf-decoder · Revision 7d0b5ed
  8. LICENSE GitHub · pawitp/protobuf-decoder · Revision 7d0b5ed
  9. https://protobuf-decoder.netlify.app/

More in Protocols

All 140 entries in Protocols

↑↓ move↵ open⌘↵ new tab