</> Format Swapper

JSON · XML · CSV · YAML — convert between any of them

CSV to YAML Converter

Convert CSV rows into YAML. Free, instant, and no signup required.

Input (CSV)
Output (YAML)

About CSV to YAML conversion

CSV is the lowest-common-denominator format every spreadsheet tool and data pipeline understands, from Excel to pandas — it's strictly tabular, with no built-in way to express nesting. YAML is the go-to format for configuration files across the DevOps world — Kubernetes, Docker Compose, GitHub Actions, Ansible — valued for supporting comments and multi-document files, which JSON can't do.

CSV is flat and tabular; YAML supports arbitrary nesting. Round-tripping through dot-notation column names (address.city) preserves structure in both directions, but a YAML file with deeply nested or irregular records won’t produce a clean, uniform CSV table.

How to convert CSV to YAML

  1. Paste your CSV into the left editor, or click sample above it to try example data.
  2. Click Convert. The YAML result appears on the right instantly.
  3. Click copy to copy the result, or download to save it as a file.

Example

Input (CSV):

name,role,active
Ada Lovelace,Mathematician,true
Grace Hopper,Computer Scientist,true

Output (YAML):

- name: Ada Lovelace
  role: Mathematician
  active: 'true'
- name: Grace Hopper
  role: Computer Scientist
  active: 'true'

Frequently asked questions

Can a CSV file with dot-notation columns convert to nested YAML? Yes — if the CSV's headers use dot-notation (address.city) or bracket-index notation (tags[0]), the converter reconstructs the nested structure in YAML. Plain flat headers convert to a flat YAML list of records instead.
Do I need to create an account? No. There's no signup, login, or account required — paste your data and click Convert.
Is there a file size limit? There's no hard-coded limit, but very large inputs (multi-megabyte files) can slow down or briefly freeze the tab while converting. For big files, converting in smaller chunks works better.
Why did my conversion fail? Check the status line under the Convert button — it reports the exact line and column where the parser stopped, and the input editor highlights that line in red so you can jump straight to it.