A YAML 1.2 compliant parser and emitter library for C++.
yaml-cpp is a C++ library that parses and emits YAML data, fully compliant with the YAML 1.2 specification. It enables C++ applications to read and write YAML files for configuration, data serialization, and interoperability with other systems that use YAML.
C++ developers who need to work with YAML files for configuration, data storage, or communication with services that use YAML as a data format.
Developers choose yaml-cpp for its strict YAML 1.2 compliance, modern C++ API, and seamless integration with CMake-based build systems, making it a reliable and maintainable choice for YAML handling in C++ projects.
A YAML parser and emitter in C++
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements the complete YAML 1.2 specification, ensuring reliable parsing and emitting that interoperates seamlessly with other YAML-based tools and systems.
Supports easy inclusion via FetchContent in CMake projects, reducing manual setup and simplifying dependency management for modern C++ workflows.
Builds on Windows, macOS, and UNIX-like systems using CMake generators, ensuring compatibility across diverse development environments without platform-specific tweaks.
Provides both reading YAML into C++ data structures and writing C++ objects to YAML, covering common use cases like configuration handling and data serialization.
The old API is deprecated with bugfixes ending in 2026, forcing users to migrate to the new API, which involves code changes and potential breaking adjustments.
Requires CMake for building and integration, adding overhead for projects using other build systems or developers unfamiliar with CMake's configuration.
Third-party integrations like Qt or UnrealEngine wrappers are unsupported and rely on community contributions, which may lack stability or long-term maintenance.