How are nested YAML keys flattened in the CSV?
Nested mappings are flattened using dot notation. A YAML object like address: { city: Berlin, zip: 10115 } becomes two columns: address.city and address.zip. Arbitrary depth is supported, so user.profile.preferences.theme is one column. This keeps the CSV tabular while preserving the original key path so the data is round-trippable.
What if my YAML has an array of arrays?
Inner arrays are flattened with index notation: tags[0], tags[1], tags[2] become separate columns. If the row count varies, CSV cells for missing indices stay empty. For deeply ragged arrays, consider exploding into one row per array element instead — CSV is poor at representing variable-length lists, and JSON or Parquet may be a better fit.
How are headers inferred?
The converter looks for a YAML sequence of mappings — either at the top level or as the value of a single top-level key (e.g., users: [...]). Each mapping is flattened, and the union of all flattened keys becomes the column header set. Rows missing a particular column produce empty cells.
What if my YAML is not a list at all?
When the YAML is a single mapping (typical config files), the converter falls back to a two-column key,value CSV with each leaf path as a row. So a Helm values.yaml becomes a list of dotted paths and their values, ideal for diffing two config files in a spreadsheet.
Will the CSV open correctly in Excel?
Yes. The output follows RFC 4180: fields are comma-delimited, fields containing commas, double quotes, or newlines are wrapped in double quotes, and embedded double quotes are escaped by doubling. Excel, Google Sheets, LibreOffice Calc, Numbers, and database COPY commands all read the result correctly.
How are booleans, nulls, and numbers serialized?
YAML booleans render as the strings true and false. Null and missing values become empty cells (so spreadsheets show blanks). Numbers render in their canonical JS form (1, 1.5, 1e10) and Excel will recognise them as numeric automatically. Quoted YAML strings stay strings, so "1.25" in YAML stays "1.25" in CSV (no implicit number coercion).
Are commas, quotes, and newlines inside values handled?
Yes. Any value containing a comma, double quote, or newline is wrapped in double quotes; embedded double quotes are escaped by doubling them ("…\"…\"…"). This is RFC 4180 quoting and is what Excel and pandas read_csv expect.
Is my YAML uploaded to your servers?
No. Conversion runs entirely in your browser using JavaScript. YAML containing user records, internal IDs, secrets, or proprietary configuration never leaves your machine. You can verify in DevTools → Network: no request fires when you click Convert.