Data Formats

Avro, CBOR, and MessagePack Binary Inspector

Encode JSON to Avro, CBOR, or MessagePack and decode hex or Base64 binary data with byte counts and reviewable typed values.

Free to use No sign-up Runs in your browser

Tool workspace

Encoding and decoding happen locally in this browser tab. Input data and Avro schemas are not uploaded or retained.

Use the $bigint tag with decimal text for large integers, and the $bytes tag with Base64 text for byte strings.

What does this binary inspector decode?

This inspector converts structured JSON values to and from three common binary serialization formats. Avro uses an explicit schema to define records and primitive types. MessagePack and CBOR carry type information in the encoded value. Decoded byte strings and integers outside JavaScript's safe numeric range use visible tagged JSON objects so their exact content remains reviewable instead of being silently converted.

How to inspect or create binary messages

  1. 1Choose Avro, MessagePack, or CBOR, then select whether to encode JSON or decode existing bytes.
  2. 2For Avro, paste the exact writer schema before processing; schema-less Avro records cannot be interpreted reliably.
  3. 3When encoding, enter ordinary JSON plus $bigint or $bytes tagged objects when exact binary types are required.
  4. 4When decoding, select hexadecimal or Base64 and paste the complete message without transport headers.
  5. 5Review the decoded JSON, byte length, and any format-specific error before copying the result.

Useful binary serialization workflows

Debug event payloads

Decode a captured queue or stream message and inspect its fields without adding temporary logging to a producer or consumer.

Check Avro schema compatibility

Encode a representative record against a specific Avro schema to find missing fields, invalid unions, and mismatched primitive values.

Create protocol fixtures

Generate deterministic hex and Base64 samples for documentation, unit tests, command-line requests, or cross-language interoperability checks.

Frequently asked questions

Why does Avro require a schema?

An Avro binary record stores values compactly according to field order and types supplied by its schema. Without the matching writer schema, field boundaries and meanings cannot be reconstructed safely.

How are BigInt and byte strings represented?

The inspector displays BigInt as a $bigint decimal string and bytes as $bytes Base64 plus $hex text. These tagged objects can also be pasted into the encoder.

Does a successful decode prove that a message is trustworthy?

No. Decoding only checks that bytes can be interpreted by the selected codec and schema. It does not authenticate the source, verify signatures, or validate application-level meaning.