File Formats

AVRO

Apache Avro

Adopt Foundation Apache Software Foundation Since 2009

Judgement: Adopt

Kafka's binary payload of choice; first-class with Schema Registry.

Row-oriented binary format that ships its schema alongside the data. Excellent for streaming and event payloads where messages are written and read one at a time.

The natural counterpart to Parquet: Avro for streams, Parquet for analytics.

Why it counts as a standard

The Avro container format and binary encoding are open specifications with independent implementations across Java, Python, Go, C++, and Rust. Kafka, Schema Registry, and most stream processors depend on the format spec, not on a particular Avro library — which is what makes it portable.

Example

An Avro object container file carries its own writer schema, so the data is readable without a registry.

Obj\x01                        <- 4-byte magic
File metadata (map):
  avro.schema  {"type":"record","name":"Order","fields":[...]}
  avro.codec   deflate
16-byte sync marker
Data block:  [record count][block size][serialized records][sync marker]
Data block:  ...

At a glance

Category
File Formats
Governance
Apache Software Foundation
Status
Stable; standard in Kafka
First released
2009

Links

Related standards

Other standards in File Formats.

See AVRO in context

Open the interactive Data Landscape to compare AVRO against every other open standard, or grab the raw JSON. Spotted something wrong? Open an issue.