AVRO
Apache Avro
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.
- CSV — Comma-Separated Values (RFC 4180)
- JSON — JavaScript Object Notation
- PARQUET — Apache Parquet
- XML — Extensible Markup Language
- YAML — YAML Ain't Markup Language
- ORC — Apache ORC (Optimized Row Columnar)
- Lance
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.