Use the free YAML to CSV Converter below: your data never leaves your browser — all work happens on your device, and nothing is uploaded to any server.
YAML Lists Belong in Tables Too
YAML is a lovely format for writing lists by hand. A list of people, products, or tasks reads clearly: each item starts with a dash, each field sits on its own line, and the whole file is easy to edit. But spreadsheets and databases do not read YAML. They read CSV. This converter turns a YAML list of objects into a CSV table: one row per item, one column per field, with every field used anywhere in the list becoming a column.
The column collection is the detail that makes this work. Real YAML lists are rarely uniform: one item has an email field, the next does not, and a third adds a phone field. The tool gathers every key from every item, in the order first seen, and builds one header row from them. Items that lack a field get an empty cell for it. The table is therefore complete without inventing data, and it opens cleanly in any spreadsheet.
How to Use It
Paste a YAML list of objects into the box. Each item starts with a dash, and its fields follow as indented key-value lines, like the sample the tool loads for you. Click convert, and the CSV appears below with a header row. Copy it or download it as a .csv file. If the tool reports that it expected a list, check that your items really start with dashes: a single mapping without dashes is not a list, and a list nested under a top-level key needs to be pasted as the list itself, not the wrapper.
If your YAML is a single object rather than a list, the tool still helps: it wraps the object into a one-row table. That covers the case where you have one record to convert and do not want to reformat it first. And if your list items are plain values rather than objects, like a list of names, the tool will tell you it expected objects, because a table needs named columns, and a plain list has none. For plain lists, a list-to-values converter is the better tool.
Types, Nested Values, and Empty Cells
Numbers arrive as numbers, text as text, and booleans as true and false, matching what YAML described. Nested objects and lists inside an item cannot fit a single spreadsheet cell without a convention, so the tool stores them as JSON text in the cell. That preserves the data exactly, and you can unpack it later if needed, but it does mean a heavily nested YAML file produces cells full of JSON rather than a flat table. If your data nests deeply, flatten the fields you care about before converting, or accept the JSON cells for the nested parts.
Empty cells are honest. An item without a field gets an empty cell, not a zero and not the word null, because inventing a value would corrupt analysis. A field explicitly set to null in YAML also becomes an empty cell, which is the standard CSV representation. If you need to distinguish “missing” from “explicitly null”, that distinction does not survive CSV, and you should keep the YAML as your source of truth and treat the CSV as a working copy.
Real Uses for the Table
The most common use is moving hand-written data into a spreadsheet. A team keeps a list of contacts, inventory, or tasks in YAML because it is easy to edit in version control, then converts to CSV when someone needs to sort, filter, or chart it. Another is reporting: a YAML file of results becomes a table for a slide or a document. A third is joining: the CSV joins to other tables on a shared key, like a name or an ID, in any spreadsheet or database tool.
Data clean-up is another home. Once the YAML is a table, sorting a column reveals typos, duplicates, and inconsistent spellings that are easy to miss in the original file. Fix the YAML from what the table reveals, then convert again. That loop, edit in YAML, inspect as a table, is a practical workflow for small datasets that live in version control but get reviewed by people who think in spreadsheets.
Privacy and Practical Tips
All conversion happens in your browser. Your YAML is never uploaded, stored, or logged, which matters when the list holds names, emails, or internal records. Paste, convert, copy, close. Two practical tips: check the row count against your item count after conversion, because a mismatch usually means an indentation error merged two items or split one. And before sharing the CSV, scan the header row for fields you did not mean to share, like internal notes or private contact details that rode along in the YAML.
Related tools
- Convertidor de YAML a CSV (Spanish version)
- JSON to SQL INSERT Converter
- List to SQL Values Converter
