Concise Binary Object Representation (CBOR)
Concise Binary Object Representation (CBOR) is a schema-less binary data serialization format which is loosely based on JSON. It is targetted towards embedded systems and other lightweight platforms in where the program memory usage of the encoder and decoder and the size of the encoded data is important.
It is schema-less, meaning that arbitrary encoded CBOR packets can be decoded without any prior knowledge of the data structure. This makes it different to Protobuf which requires a schema. However, there is a associated standard called the CDDL (Concise Data Definition Language) which allows you to define a schema, and tools to validate data against the schema.1
CDDL
Here is a basic example of a CDDL schema:
person = { name: tstr, age: uint, address: tstr,}
Further Reading
The CBOR Book: A Practical Introduction to CBOR is a great resource for learning about CBOR.
Footnotes
-
H. Birkholz, et al. Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures [standard]. IETF. Retrieved 2025-08-20, from https://datatracker.ietf.org/doc/html/rfc8610. ↩