.yaml

Sample YAML files download

YAML is a human-readable data serialization format. Popular for configuration files and DevOps tools.

File size Label Specs / Info Format Download
1 KB Config App config YAML Download YAML Download
1 KB Docker docker-compose YAML Download YAML Download
2 KB CI/CD GitHub Actions YAML Download YAML Download
3 KB Kubernetes K8s manifest YAML Download YAML Download
4 KB OpenAPI OpenAPI 3.0 YAML Download YAML Download
Advertisement
Technical guide

Everything you need to know about YAML

YAML (YAML Ain't Markup Language, .yaml or .yml) is a human-friendly data serialization format that became the de facto standard for DevOps configuration. Created in 2001, YAML is whitespace-sensitive, comment-friendly, and visually clean - exactly what you want for hand-written config that gets reviewed in pull requests.

How it works under the hood

  • Indentation matters. YAML uses indentation to denote structure - tabs are forbidden, spaces only. Inconsistent indentation breaks the file silently.
  • Three forms. Block style (indented), flow style (JSON-like), and folded style for multi-line strings. All three can mix in one document.
  • Comments allowed. `# this is a comment` survives parsing - critical advantage over JSON for human-edited config.
  • Anchors and aliases. YAML has `&anchor` and `*alias` for DRY config - reuse a block in multiple places without duplication.

Where you'll actually use it

  • Kubernetes manifests, Helm charts
  • GitHub Actions, GitLab CI, CircleCI workflows
  • Docker Compose service definitions
  • Ansible playbooks, OpenAPI/Swagger specs

How it compares to alternatives

YAML vs JSON: YAML is human-friendlier with comments; JSON is machine-friendlier with strict types. YAML vs TOML: TOML is config-specific (used by Cargo, Poetry); YAML is broader. JSON vs YAML for config: prefer YAML for human-edited, JSON for machine-generated.

Things that will trip you up

  • The 'Norway problem': `country: NO` parses as boolean false because YAML 1.1 has 'YES/NO/ON/OFF' as booleans. Quote string values that look like keywords
  • Trailing whitespace and tabs cause silent failures - configure your editor to highlight them
  • Multi-line strings have several styles (`|`, `>`, `|-`, `>+`) with different newline behaviors - know which you need
Test it yourself: `yamllint` for style and syntax, `yq` for jq-like querying, Python's `pyyaml.safe_load()` for parsing (NEVER use `yaml.load` without safe_loader - arbitrary code execution risk).

Format details

MIME Types

  • application/yaml
  • text/yaml

License

CC0 1.0 (Public Domain)

Free for personal and commercial use, no attribution required.

Read full license