A .pb file is a Protocol Buffers message encoded as compact field numbers, wire types and values. The bytes do not carry field names or a complete type description, so the matching .proto schema is required to turn them into meaningful JSON.
Private for supported formats — processed in your browser
Convert supported files
Runs on your device
+
Drop PB files here
Batch files can each use a different output. Nothing uploads for local conversions.
Working inputs include camera RAW, browser-local audio/video, PDF, CBZ/CBR comics, office documents, ebooks, markup, 3D models, structured text, images, and archives.
Google developed Protocol Buffers for structured data exchanged by services and released the technology publicly in 2008. Proto2 made presence and required fields explicit; proto3 simplified defaults and became common in gRPC APIs. The wire format is designed for stable evolution: new fields can be added under new numbers while older readers skip values they do not know.
How PB works
Each field key combines a numeric field identifier with a wire type; strings and nested messages use length-delimited records.
Field names, comments and most schema intent are absent from the binary payload, which is why guessing a schema is unsafe.
Unknown fields may be skipped by a decoder, but JSON cannot preserve their meaning without the defining schema.
A self-contained .proto schema is parsed locally. Imports are blocked so conversion cannot fetch remote or relative resources.
The local gate accepts one message type per uploaded schema to avoid silently choosing the wrong root type.
When to use PB
Inspecting a captured protobuf message with its source schema
Exporting a small API payload to readable JSON
Validating that a fixture still matches its declared message type
Debugging a local gRPC or event-stream payload without uploading it
Strengths and limitations
Strengths
Compact and fast to decode
Field numbers support forward-compatible schema evolution
Strong generated-code ecosystem across many languages
Limitations
Unreadable without the correct schema
A .pb extension does not identify the root message type
Unknown fields and exact integer representations may be normalized in JSON
Compatibility
Protocol Buffers has official or established runtimes for major programming languages and is the default serialization used by gRPC. Novus Convert decodes a bounded .pb message locally when it is uploaded in a folder or ZIP with exactly one matching, self-contained .proto file. It emits JSON, independently reparses that output, and refuses imports, ambiguous schemas, malformed messages and missing companions.
Declared field names and values are represented in JSON; unknown fields, comments and schema-only annotations are not embedded in the .pb payload and cannot be recovered.