What is YAML?

YAML uses indentation instead of brackets. It is a superset of JSON, supports comments, and is meant to be edited by hand.

Who uses it

Kubernetes manifests, CI pipelines, Ansible playbooks and most modern config files.

Reading YAML

A YAML list of maps reads as rows and columns directly. Anchors and aliases are resolved before the table is built, so a repeated block arrives expanded rather than as a reference.

Writing YAML

You get a list of maps, one per row, with long lines left unwrapped so values do not get folded across lines.

The specification

YAML is defined by the YAML 1.2 specification. Reading the primary source settles most arguments about edge cases faster than searching for them does.

What it can hold

YAML is a data interchange format. Indentation carries the structure, and unquoted values are typed by how they look - which is how a value like 'NO' becomes false. A machine can read the table back out of it without guessing, which is what makes it safe to convert into and out of.

It keeps

It cannot express

What it looks like

Example YAML
- id: "007"
  name: Halima Yusuf
  role: Analyst, data
  started: "2024-03-15"
  hours: "38.5"
- id: "012"
  name: Jonah "Jo" Pryce
  role: Engineer
  started: "2025-11-02"
  hours: ""
- id: "104"
  name: Wei Chen
  role: Manager
  started: "2023-06-30"
  hours: "40"

Questions

Why did my YAML value change meaning?

YAML reads several bare words as booleans. In the 1.1 spec that includes yes, no, on and off, which is why a country column containing NO for Norway can arrive as false. Quote values you want kept as text.

How do I open YAML files?

Any text editor will show you the contents. To read it as a table, paste it into the converter on this site and it appears in an editable grid. Nothing is uploaded.

Is YAML a good format for sharing data?

It depends who is receiving it. Kubernetes manifests, CI pipelines, Ansible playbooks and most modern config files. If the recipient is outside that group, a plain CSV travels further than anything else.

Convert YAML to something else

Convert something else to YAML