define yaml --plain-english

Illustration for "YAML" from the Non-Technical Technical Dictionary

YAML

TLDR:JSON is easy for machines and a little hostile to humans.

JSON is easy for machines and a little hostile to humans. YAML is the same information, rewritten so a person can comfortably write it by hand.

Take the exact data from the JSON note card. Now drop the braces, the quotes, and the commas, and lay it out as a plain indented list instead. That's YAML.

Same three facts, side by side. JSON:

{ "name": "Cat", "city": "Austin", "orders": 3 }

YAML:

name: Cat
city: Austin
orders: 3

No brackets. No quotes. No trailing comma to forget. Just a label, a colon, a value, and indentation to show what belongs under what. It reads almost like notes you'd jot for yourself.

The split is about who's reading. JSON is what machines pass between each other. YAML is what humans write when they have to set something up by hand. Same family, different audience.

Where you'll actually meet it: settings and config files. The instructions that tell a tool how to behave often live in a YAML file that you, or your agent, edit. It's friendlier to open and tweak than a wall of braces, which is exactly why so many tools chose it for the part a human has to touch.

The one catch, because it bites everyone at least once: in YAML, the indentation is the meaning. Those spaces aren't decoration. Line something up wrong, or mix tabs and spaces, and the whole file breaks in a way that's maddening to spot, because it still looks fine to your eye. So when your YAML "won't load" and you'd swear it looks perfect, check the indentation first. That's almost always it.

Why a non-coder should care: when a tool says "edit your config in the .yaml file," you now know it's just a tidy indented list of settings, not code. You can usually change a value, flip something on or off, set a name, without touching anything else around it. Just respect the spaces.

JSON is for machines. YAML is the same data laid out for humans. A label, a colon, a value, and indentation that actually counts.