ToolLineup

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.

YAML input
Paste YAML — a list of mappings works best…
CSV output

How to convert YAML to CSV

  1. Paste your YAML into the input on the left — a list of mappings converts most cleanly.
  2. Each entry becomes a row, with columns taken from the keys.
  3. Download the .csv and 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