Free YAML to CSV — js-yaml parser — no upload

Convert YAML to CSV
Any structure,
flat CSV output.

Free YAML to CSV converter. Handles sequences, keyed mappings and nested YAML. Dot-notation flattening for nested keys. Paste directly or upload a .yaml file. Powered by js-yaml. Your data never leaves your browser.

Your data never leaves your browser
Sequence + keyed mapping
Nested dot-notation flattening
Upload or paste
Always free
YAML to CSV Converter  js-yaml
Uses js-yaml — the standard JavaScript YAML parser. Your YAML is parsed locally. No data uploaded.
Drop your YAML file here
.yaml or .yml — structure auto-detected
or paste YAML directly
 Conversion complete

      
YAML structures CSVShift handles

Auto-detected — no configuration needed for standard YAML data files.

Sequence of mappings
- name: Alice
  age: 32
  city: London
- name: Bob
  age: 28
  city: Paris
↓ CSV
name,age,city
Alice,32,London
Bob,28,Paris
Keyed mapping
alice:
  age: 32
  city: London
bob:
  age: 28
  city: Paris
↓ CSV (adds _key column)
_key,age,city
alice,32,London
bob,28,Paris
Nested objects
- name: Alice
  address:
    city: London
    zip: EC1A
↓ dot-notation flatten
name,address.city,address.zip
Alice,London,EC1A
Flat mapping
host: localhost
port: 5432
ssl: true
db: myapp
↓ key/value columns
key,value
host,localhost
port,5432
ssl,true
db,myapp
YAML to CSV in Python
Python — PyYAML + csv
import yaml, csv with open('data.yaml') as f: data = yaml.safe_load(f) with open('output.csv', 'w', newline='') as f: writer = csv.DictWriter(f, fieldnames=data[0].keys()) writer.writeheader() writer.writerows(data)
Requires: pip install pyyaml. Use yaml.safe_load() — NOT yaml.load() — to prevent arbitrary code execution.
Python — PyYAML + pandas (flattens nested)
import yaml, pandas as pd with open('data.yaml') as f: data = yaml.safe_load(f) df = pd.json_normalize(data) df.to_csv('output.csv', index=False)
pd.json_normalize() handles nested YAML objects the same way CSVShift does — nested keys become dot-separated column headers.
When do you need YAML to CSV?
Kubernetes and Helm config review

Reviewing Kubernetes manifests and Helm values across environments is easier in a spreadsheet. Converting values.yaml files to CSV produces a tabular overview of resource limits, replicas and environment variables.

Ansible inventory export

Ansible inventory files list hosts with their variables and group memberships. Converting to CSV produces a host inventory spreadsheet that non-technical stakeholders can review without knowing YAML syntax.

Test fixture to spreadsheet

YAML fixture files in Rails, Django and other frameworks contain test data that is easier to review in a spreadsheet. Converting to CSV lets non-engineers update test data without touching raw YAML.

API and config data extraction

Tools like AWS CLI, kubectl and Terraform output structured data as YAML. Converting to CSV lets you analyse resource lists, deployment states and configuration values in Excel or Google Sheets.

Related CSV tools
Popular searches
yaml to csv converter convert yaml to csv yaml to csv online yaml to csv python yaml to csv free yml to csv converter ansible yaml to csv kubernetes yaml to csv parse yaml to csv

YAML parsed safely
in your browser. js-yaml.

CSVShift uses js-yaml — the most widely used JavaScript YAML parser, with over 90 million weekly npm downloads. It processes your YAML document locally in your browser. Your YAML file is never transmitted to any server.

Powered by js-yaml
90M+ weekly npm downloads. Used in ESLint, Webpack, Jest and thousands of tools.
4 YAML structures
Sequence of mappings, keyed mapping, nested objects and flat key-value — all auto-detected.
Multi-document YAML
Files with --- separators are parsed and combined into a single CSV output.
Free, no conditions
No file size limit, no watermark, no account. Funded by display advertising only.
Frequently asked questions
How do I convert YAML to CSV?
Upload your .yaml or .yml file or paste YAML into the text area. CSVShift detects the structure automatically and exports it as CSV. Nested keys become dot-notation column headers.
How does CSVShift handle nested YAML keys?
Nested mappings are flattened using dot notation. A key like address: {city: Paris} becomes address.city. Set the flatten depth to control how many levels are expanded.
What YAML structures are supported?
Four structures: 1) Sequence of mappings — each item becomes a row. 2) Keyed mapping — keys become a _key column. 3) Nested mappings — flattened with dot notation. 4) Flat key-value mapping — produces two columns: key and value.
Is my YAML data safe when converting online?
Yes. js-yaml parses your YAML locally in your browser. Your file is never uploaded to any server.