Online Tool Store Online Tool Store

Avro File Viewer

Open an Avro container file to read its embedded schema and decode its records into readable JSON, entirely in your browser.

🔒 This tool runs entirely in your browser. Your files are never uploaded to a server.

Sample Avro file — choose your own file to replace it.

How Avro File Viewer works

  1. Choose an .avro file — its bytes are read directly in your browser, never uploaded.
  2. The tool checks for the "Obj\x01" magic header, then reads the metadata block to recover the embedded schema (JSON) and compression codec.
  3. Each data block is decompressed if needed (deflate), then decoded record-by-record following the Avro binary encoding rules for the schema's field types.
  4. The embedded schema and the decoded records are both shown, the records formatted as readable JSON.

How the binary decoding works

Avro's binary format has no field names or delimiters in the data itself — every value is packed according to its type in the schema, in field order. Integers and longs use a zig-zag variable-length encoding (small numbers take one byte), strings and byte arrays are prefixed with their length, and complex types like records, arrays, maps, and unions are decoded recursively by walking the schema alongside the byte stream. This is exactly what a real Avro reader library does — reimplemented here in TypeScript so it runs client-side.

FAQ

What is an Avro Object Container File?

It's the standard .avro file format: a 4-byte "Obj\x01" magic header, a metadata block that embeds the record schema as JSON, a 16-byte sync marker, and one or more data blocks of binary-encoded records — the schema always travels with the data, so any reader can decode it without a separate schema file.

Which compression codecs are supported?

Uncompressed ("null" codec) and "deflate" — deflate is decompressed using the browser's built-in DecompressionStream API. Snappy and other codecs aren't supported since they need a dedicated decoder library.

Can it read Avro files with nested records, arrays, maps, or unions?

Yes — the decoder walks the embedded schema recursively, so nested records, arrays, maps, enums, fixed types, and nullable unions all decode correctly into the equivalent JSON structure.

How we compare

Feature Online Tool Store Command-line avro-tools Upload-based file viewer
No file upload — runs in your browser N/A
No sign-up required
Free, no watermark

The Java-based avro-tools jar works but needs a JVM and a terminal, and an upload-based viewer sends your data file to someone else's server. Avro File Viewer decodes the same container format directly in the tab you already have open, with nothing installed and nothing uploaded.

Explore related tools

Embed this tool

Paste this on your own site — it stays free, and every file still stays in your visitor's browser, not yours or ours.