JSON ↔ CSV Converter
Convert JSON arrays to CSV and CSV tables back to JSON — instantly in your browser.
How to Use
- Paste your JSON array or CSV data into the input box.
- The tool auto-detects whether you've pasted JSON or CSV.
- Click "Convert" (or it converts automatically as you type).
- Copy or download the output.
When to Use This
- Turning an API's JSON response into a table a colleague can open in a spreadsheet, without you writing a one-off conversion script.
- Loading a spreadsheet export into a test fixture or seed file that expects an array of objects with consistent keys.
- Switching a European export from semicolon separation to comma separation by converting to JSON and back with a different delimiter selected.
- Inspecting whether a CSV's header row matches the columns your importer expects, by reading the keys of the first converted object.
Frequently Asked Questions
About This Tool
CSV looks simple until you try to specify it. There is no single standard, only RFC 4180 and a long tail of local convention: the separator may be a comma, a semicolon where the comma is a decimal point, a tab or a pipe. Every cell is text, so a leading zero and a boolean look like any string. JSON carries types and nesting but no notion of a table.
Direction is decided by the first character of your input: a bracket or brace means JSON. Going to CSV, the header is the union of keys across every object, nested values are serialized into a single cell, and any cell holding the delimiter, a quote or a newline is wrapped in quotes with inner quotes doubled. Going the other way, each row becomes one object, with true, false and numeric cells converted to real types and empty cells to null.
Notes & Limits
- Rows are split on newlines before quotes are parsed, so a quoted cell containing a line break is read as two broken rows.
- Cells that look numeric become numbers, so a zip code written as 02134 comes back as 2134 and a long account number loses precision.
- Only comma, semicolon, tab and pipe are offered as separators, and the same choice applies in both directions, so other separators must be edited in first.
- Nested objects survive as JSON text inside one cell rather than being flattened into extra columns, so a spreadsheet shows raw braces.