The share link contains your schema — share it only where you'd share the schema itself.
About the Avro schema validator
Apache Avro is a compact, schema-driven serialization format used heavily in data pipelines — Kafka topics, Hadoop, and data-lake storage — because the schema describes the data precisely and supports safe schema evolution. An Avro schema is itself a JSON document declaring records, fields, types and defaults. This tool validates that schema document: that it is well-formed JSON and structurally correct against the Avro type system.
Validation runs in two stages. First a structural pre-check confirms the document is a type object — and, for a record, that it declares a name and a fields array — because the underlying parser will otherwise silently accept a record that is missing them. Then the schema is resolved through the full Avro type system, which catches unknown types, malformed enums, fixed types without a size, and invalid union definitions. Records, enums, fixed, arrays, maps, unions and all primitive types are supported.
This checks the schema, not encoded Avro data against it — data-against-schema validation is on the roadmap. If you also work with binary message formats, compare with the Protobuf Validator. As with every tool here, validation runs entirely in your browser and nothing is uploaded.
Avro validation FAQ
What is an Avro schema?
An Avro schema is a JSON document that defines the shape of Avro data — its records, fields, types and defaults. Avro is widely used in data pipelines (Kafka, Hadoop, data lakes) because the schema travels with the data and supports schema evolution. This tool checks that the schema document itself is well-formed and structurally valid.
Should I use Avro or Protobuf?
Avro describes its schema in JSON and is dynamic (schema-on-read); Protobuf compiles a .proto IDL into typed classes. For a full comparison of when to choose each, see the guide Protobuf vs Avro at /guides/protobuf-vs-avro/.
Which Avro types are supported?
Records, enums, fixed, arrays, maps, unions and all the primitive types (null, boolean, int, long, float, double, bytes, string). The validator parses the schema with the Avro type system and rejects unknown types or malformed definitions.
What Avro spec version does this follow?
It follows the current Apache Avro specification as implemented by the avsc library. A record must declare a name and a fields array; enums need symbols; fixed types need a size. These structural rules are checked before the deeper type resolution runs.
Does it validate Avro data against the schema?
No. This page validates the Avro schema document — that it is well-formed and structurally correct. Validating encoded Avro data against a schema is on the roadmap (the data-against-schema feature), not yet supported.