JSON to CSV, YAML converter
Convert JSON, CSV, and YAML in any direction, instantly. Free, private — nothing leaves your browser.
Your converted output will appear here.Everything you need to convert data formats
Convert in any direction
JSON, CSV, and YAML, each to any of the other two — including CSV to YAML and back.
Handles uneven rows
CSV columns are built from every row's fields combined, so an optional field never gets dropped.
Instant, live conversion
Output updates as you type or paste — no button to click, no page reload.
100% private
Every conversion runs in your browser. Nothing is uploaded, logged, or stored.
Convert your data in three steps
- 1
Paste your data
Paste JSON, CSV, or YAML into the input box, or start from the built-in example.
- 2
Pick the input and output formats
Select what you're converting from and what you want back — JSON, CSV, or YAML, in any direction.
- 3
Copy or download the result
The converted output updates live as you type. Copy it with one click, or download it as a file.
Built for real developer workflows
JSON, CSV, and YAML each show up in different parts of a stack — APIs, spreadsheets, and config files — so moving data between them is a constant, small chore.
Prepping API data for a spreadsheet
Turn a JSON API response into CSV rows you can open directly in Excel or Google Sheets.
Editing config in YAML, storing it as JSON
Write config by hand in readable YAML, then convert it to the JSON your app or CI pipeline expects.
Loading a CSV export into a JSON pipeline
Convert a database or analytics CSV export into JSON for a script, API, or NoSQL import.
Comparing the same data across formats
Quickly see how one dataset looks in JSON, CSV, and YAML side by side while debugging a format mismatch.
Frequently asked questions
Can this convert CSV directly to YAML, or YAML to CSV?
+
Yes — CSV and YAML convert through JSON as an intermediate step automatically, so you don't need to convert twice. Just pick CSV as the input format and YAML as the output (or the other way around) and it happens in one pass.
What happens to nested objects or arrays when converting to CSV?
+
CSV is a flat, row-and-column format, so a nested object or array value is written into its cell as a literal JSON string (e.g. "[\"a\",\"b\"]") rather than being split into extra columns. Converting that CSV back to JSON keeps it as a string in that field — it isn't automatically parsed back into a nested structure, since a CSV cell has no reliable way to signal "this text is actually JSON."
Does JSON need to be an array of objects to become CSV?
+
CSV needs rows and columns, so the JSON should be an array of objects (each object becomes a row) or a single object (becomes one row). A plain value like a bare number or string has no rows or columns to convert to, so that case shows an error instead of guessing.
What if my rows don't all have the same fields?
+
The CSV output uses the union of every field across all rows as its columns, so a row missing a field just gets an empty cell there — no data from any row is silently dropped.
I selected the wrong input format and got strange output — what happened?
+
Make sure "Convert from" actually matches what you pasted. Valid YAML syntax is permissive enough that plain CSV or plain text will often still "parse" as YAML — just as one long string, not as structured rows — instead of failing outright, which can look like a bug when it's really a mismatched format selection.
Is my data uploaded anywhere?
+
No. Every conversion happens entirely in your browser using JavaScript — nothing is sent to a server, logged, or stored.