┌─ FILE ANALYSIS ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ┐
│ DEVELOPER : Clark Evans, Ingy dot Net, Oren Ben-Kiki
│ CATEGORY : Data
│ MIME TYPE : text/yaml
└ ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ┘
What is a YAML file?
YAML (YAML Ain’t Markup Language) is a human-friendly data serialization format used extensively for configuration files. YAML uses indentation to represent structure, making it more readable than JSON or XML. It supports scalars, lists, maps, and complex nested structures with anchors and aliases.
How to open YAML files
- VS Code (Windows, macOS, Linux) — Built-in YAML support
- Any text editor — YAML files are plain text
- YAML Lint (Web) — Online validation
- PyYAML (Python) — Programmatic parsing
Technical specifications
| Property | Value |
|---|---|
| Version | YAML 1.2 (2009) |
| Encoding | UTF-8, UTF-16, UTF-32 |
| Structure | Indentation-based |
| Data Types | Strings, integers, floats, booleans, null, dates |
| Superset Of | JSON (YAML 1.2 is a superset of JSON) |
Common use cases
- DevOps: Docker Compose, Kubernetes manifests, Ansible playbooks.
- CI/CD: GitHub Actions, GitLab CI, CircleCI configs.
- Application config: Spring Boot, Rails, Jekyll settings.
- API specs: OpenAPI/Swagger definitions.