Data format

PB converter

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.

Where PB comes from

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.