protobuf-decoder
Decode protobuf without proto file
What it is and what it does
Protobuf Decoder is a Python library that parses protobuf binary messages without access to their original .proto schema files. It reads hex-encoded wire-format data and reconstructs the field numbers, wire types (varint, string, length-delimited, etc.), and decoded values. The parser handles nested messages, detects whether length-delimited fields contain nested protobufs or raw data, and reports any unparseable remaining bytes.
The library is useful for reverse-engineering protobuf messages, debugging protocol implementations, or analyzing binary data when schema definitions are unavailable. It requires Python 3.7 or later and has no external runtime dependencies, making it straightforward to integrate. Maintenance is dormant, so it is stable for its current feature set but will not receive active development.
Use it for:
- Reverse-engineer protobuf messages from captured network traffic or logs when .proto files are not available
- Debug and inspect protobuf binary payloads during development or troubleshooting of gRPC services
- Analyze unknown binary protocol data to determine field structure and data types without schema documentation
- Extract and validate protobuf message contents in security research or forensic analysis workflows
- Parse protobuf data in environments where the official protobuf compiler or schema is not accessible
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Decodes protobuf binary messages without requiring proto schema files, parsing wire-format data into structured field and type information.
Yes, if you need to decode protobuf binaries without schema files and accept dormant maintenance. The package is lightweight, dependency-free, and permissively licensed. However, do not rely on it for active bug fixes or new features—it is suitable for one-off analysis, debugging, or reverse-engineering tasks, not for mission-critical production pipelines.
Install
protobuf-decoder on PyPI
pip
pip install protobuf-decoderuv
uv add protobuf-decoderpoetry
poetry add protobuf-decoderInstalling protobuf-decoder
Before you install
Low friction installation with no runtime dependencies. Maintenance is dormant—last release was 2024-02-25 and no commits since 2024-05-22—so expect no active bug fixes or feature development, though the repository remains public and unarchived.
License in practice
MIT license (permissive) means you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
from protobuf_decoder.protobuf_decoder import Parser
test_target = "0A 09 ED 85 8C EC 8A A4 ED 8A B8"
parsed_data = Parser().parse(test_target)
print(parsed_data.to_dict())
Verify before relying
- Accuracy and completeness of nested protobuf detection logic across real-world message types
- Performance characteristics when parsing large or deeply nested protobuf binaries
- Compatibility with protobuf3 and proto2 wire formats beyond the documented examples
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 901 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 131,842/month — #11,572 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: protobuf_decoder-0.4.0-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
bbpbDecode and re-encode Protocol Buffer messages…
permissive · top 15,000 on PyPI
proto-schema-parserParses and generates Protobuf schema files…
permissive · top 15,000 on PyPI
pure-protobufEncodes and decodes Protocol Buffer messages…
permissive · top 15,000 on PyPI
opensearch-protobufsProvides pre-generated Python Protocol Buffer…
permissive · top 5,000 on PyPI
proto-plusProto Plus wraps protocol buffers to provide…
permissive · top 1,000 on PyPI
java-manifestEncode and decode Java's META-INF/MANIFEST.MF…
unclear · top 15,000 on PyPI
opentelemetry-protoProvides generated protobuf message classes for…
permissive · top 1,000 on PyPI
discord-protosProvides Python bindings for Discord's protocol…
permissive · top 15,000 on PyPI
sigstore-protobuf-specsProvides Python protobuf message definitions…
permissive · top 15,000 on PyPI
pyrtcmParses RTCM3 differential GNSS protocol…
permissive · top 15,000 on PyPI