YAML logo

YAML Format

CategoryData Interchange Format

YAML Ain't Markup Language (YAML) 1.2 is a human-friendly, Unicode based data serialization format broadly adopted for various programming needs, ranging from application service messaging to cloud configuration management to business object persistence.


Specification


Data Serialization Format


Configuration, Service and Data Management

YAML 1.2 is a data-oriented language considered to be a superset of the JSON data interchange format, which also builds upon concepts defined in popular scripting languages — for example, Python indentation-based scoping.

YAML leverages three primitive types of data structures: mappings — hashes and dictionaries, sequences — arrays and lists, and scalars — strings and numbers. It adds a simple typing system and aliasing mechanism to form a complete mechanism for serializing any native data structure — essential in storing and transferring data, and complementary to languages used for programming.

YAML provides globally unique type names using a namespace mechanism inspired by Java DNS-based package naming convention and XML URI-based namespaces.

The language excels in common use cases such as configuration files, log files, inter-process messaging, cross-language data sharing and debugging output.

YAML format