Avro Schema Viewer

Parse and visualize Apache Avro schema JSON files as a collapsible tree.

Ad placeholder (leaderboard)

Apache Avro is a compact, schema-driven serialization format widely used with Kafka and the Confluent Schema Registry. An Avro schema is itself a JSON document describing records, enums, arrays, maps, unions, and fixed-size byte blobs. When schemas grow nested it becomes hard to read the raw JSON, so this viewer turns it into a collapsible tree and checks its structure.

How it works

The parser walks the schema recursively according to the Avro specification:

  • A string that is a primitive name (int, string, etc.) is a leaf; any other string is treated as a reference to a previously named type.
  • A JSON array is a union — each element is a branch, commonly used as ["null", "string"] for nullable fields.
  • A record must carry a name and a fields array; each field needs a name and a type, and an optional default is shown alongside it.
  • enum needs symbols, array needs items, map needs values, and fixed needs a numeric size.

As it walks, it collects any structural violations and reports them with a JSON-path-style location so you can jump straight to the problem.

Example

A nullable email field is written as:

{ "name": "email", "type": ["null", "string"], "default": null }

The viewer renders this as a union node with two children — null and string — and notes the default value. A record’s role field pointing at an inline enum shows its symbols joined as ADMIN | USER | GUEST.

Notes

Validity here means the schema is well-formed, not that it is compatible with an existing registered version. For producer/consumer compatibility checks (backward, forward, full) you still need the schema registry’s compatibility rules — but a clean structural pass is the prerequisite for any of that.

Ad placeholder (rectangle)