YAML to CSV Converter
This YAML to CSV converter turns a top-level sequence of mappings into a table: every entry becomes a row and every key becomes a column, in the order the keys first appear. A mapping that contains a single list is unwrapped automatically, so a document whose top level is a users key followed by a list converts the users rather than producing a one-row table. YAML nests freely and CSV cannot, so nested mappings become dot-separated columns such as limits.memory and list items become indexed columns such as ports[0] — every value keeps a column of its own. The conversion runs entirely in your browser.
How it works
A YAML sequence of mappings becomes one row per entry, with columns taken from the keys. A mapping holding a single list is unwrapped automatically.
Nested objects and arrays become dot and index columns (address.city, tags[0]) so nothing is lost. Turn off expansion to keep each nested value in a single cell as compact JSON.
The conversion runs entirely in your browser — nothing you paste or upload is sent to a server.
How to convert YAML to CSV
- Paste your YAML into the input on the left — a list of mappings converts most cleanly.
- Each entry becomes a row, with columns taken from the keys.
- Download the
.csvand open it in any spreadsheet.
What shape converts best
A top-level sequence of mappings is the natural table: every entry is a row and every key is a column. A mapping
that contains a single list is unwrapped automatically, so a document like users: followed by a list
converts the users rather than producing a one-row table. Anything else is treated as a single record and becomes
one row with a column per field.
What happens to nested data
YAML nests freely and CSV cannot, so nested mappings become dot-separated columns
(limits.memory) and list items become indexed columns (ports[0]). Every value keeps a
column of its own, so nothing is lost. Turning expansion off writes each nested value into a single cell as
compact JSON instead.
Common use cases
- Reviewing a long YAML list as a table with a colleague who does not read YAML.
- Turning test fixtures or seed data into a spreadsheet.
- Auditing a set of service definitions side by side.
Frequently asked questions
How do I convert YAML to CSV?
Paste your YAML into the left panel and the CSV appears on the right with a header row taken from the keys. Download it to open in Excel, Numbers or Google Sheets.
What YAML shape converts best?
A top-level sequence of mappings, because every entry becomes a row and every key becomes a column. A mapping holding a single list is unwrapped automatically, and anything else becomes a single row with a column per field.
How is nested YAML handled?
Nested mappings become dot-separated columns such as limits.memory, and list items become indexed columns such as ports[0], so every value keeps its own column. Turning expansion off writes each nested value into a single cell as compact JSON instead.
What if entries have different keys?
Every key found anywhere in the sequence gets a column, and entries that lack one simply have an empty cell there, so no field is lost because it was missing from the first entry.
Are multi-document YAML files supported?
Yes. A file with several documents separated by --- is read as a list of documents, which then converts to one row per document.
Is my YAML sent to a server?
No. Parsing and conversion happen entirely in your browser, so nothing you paste is transmitted.
Related tools
CSV to YAML Converter
This CSV to YAML converter turns each row into a mapping, with numbers and booleans typed correctly.
YAML to JSON Converter
This YAML to JSON converter parses YAML into JSON online, supporting anchors, aliases, and multi-document files.
JSON to CSV Converter
This JSON to CSV converter turns an array of objects into spreadsheet-ready rows and columns.