YAML (YAML Ain't Markup Language) is a data serialization format designed to be human-readable and easy to write. It uses indentation to represent structure (similar to Python) instead of brackets or tags. YAML has become the standard format for configuration files in DevOps, CI/CD pipelines, Kubernetes manifests, Docker Compose files, and many application settings.
YAML represents data using key-value pairs, lists, and nested structures. Indentation (spaces, never tabs) defines hierarchy. A simple YAML file might define a server name, port number, and list of allowed origins, all readable at a glance without any special syntax knowledge. YAML supports strings, numbers, booleans, null values, dates, and multi-line text blocks.
YAML is a superset of JSON, meaning any valid JSON document is also valid YAML. This makes conversion between formats straightforward. However, YAML's reliance on whitespace for structure means that indentation errors can cause subtle bugs, which is one reason some teams prefer JSON for machine-generated configuration.
Nearly every modern development workflow touches YAML. GitHub Actions workflows, GitLab CI pipelines, Kubernetes deployments, Docker Compose stacks, Ansible playbooks, and Helm charts all use YAML as their primary configuration format. Being comfortable reading and writing YAML is a practical requirement for any developer working with cloud infrastructure or CI/CD.
TerminalFeed offers a YAML/JSON Converter tool that lets you convert between the two formats instantly. It is useful for debugging configuration files or translating between formats when working across different systems.