Each row becomes an item in a YAML sequence, keyed by the header row. The usual reason is that a list of environments, users or feature flags is easiest to maintain in a spreadsheet and needs to end up in a config file.
Ambiguous values are quoted for you
no, yes, on, off or a version number like 1.10 would change meaning if written bare. Each is quoted automatically, so a column of country codes does not turn Norway into false.The Norway problem, and why your country column is quoted
NO, ON, OFF, Y, N, YES and TRUE as booleans. A column of ISO country codes therefore turns Norway into false — a bug well enough known to have a name. Version numbers suffer the same way: 1.10 becomes the number 1.1, and 1.2.3 stays a string, so a column can change type halfway down. Anything that would be reinterpreted is quoted on the way out, which is why the result has more quotation marks than a hand-written file would.Block style, not flow style
[a, b, c] or as one indented item per line. The indented form comes out here, which is longer but reviews properly — a diff shows one changed line rather than one changed line containing everything. That matters because the usual reason to turn a spreadsheet into YAML is to put it under version control next to code, and a config file that produces a single enormous diff line every time someone edits a cell defeats the point of moving it there.Questions
- Can I get a mapping keyed by the first column instead of a list?
- Convert to JSON first, reshape it, then use JSON to YAML. A direct option would need a rule for what to do about duplicate keys.
- Why is a value like NO or 1.10 in quotes?
- Because YAML would otherwise read it as something else —
NOas the boolean false,1.10as the number 1.1. Quoting preserves exactly what your spreadsheet said. - Can I use this to build a Kubernetes manifest?
- For a list of similar objects, yes — but a manifest is a tree rather than a table, so you will usually want to convert to a list and then nest it under the right key by hand.
- Is my data uploaded anywhere?
- No. The conversion runs as JavaScript inside this tab. Open your browser's Network panel and convert something — you will see no request carrying your data, because there is no server to send it to. You can also turn your Wi-Fi off and convert anyway.