JSON ↔ CSV Converter

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.

Quoting follows RFC 4180: a field is wrapped in double quotes when it contains the delimiter, a quote or a newline, and embedded quotes are doubled. Type conversion is off by default so identifiers like 007 keep their leading zeros.

Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand JSON ↔ CSV Converter

This converter turns a JSON array of objects into a CSV table and reads a CSV table back into JSON.

How it works

Each object in the array becomes one row and the object keys become the header line, which is why the JSON has to be an array of flat objects for a table to make sense. Fields are quoted the way RFC 4180 specifies: any value containing a comma, a double quote, or a line break is wrapped in double quotes, and a double quote inside it is written twice — She said "hi" becomes "She said ""hi""". Reading CSV back, that quoting is undone and every field arrives as a string, because CSV carries no type information at all.

When to use it

  • Getting an API response into a spreadsheet for someone who does not want to read JSON.
  • Turning an exported CSV into JSON fixtures for tests or a seed script.
  • Flattening a log or event export so it can be sorted and filtered in Excel or Google Sheets.
  • Handing a data sample to a colleague in the format their tool actually opens.

Watch out for

  • CSV is flat and JSON is not. A nested object or an array inside a row has no cell to live in, so flatten those keys before converting rather than after.
  • Types are lost in both directions. A leading-zero ID like 007, a long numeric ID, and a date all come back as strings — and a spreadsheet may reformat them the moment the file opens.
  • A field starting with =, +, -, or @ is treated as a formula by Excel and Google Sheets. That is CSV injection, and it matters as soon as the values came from users.
  • There is no single CSV dialect. Semicolons are the normal delimiter in locales that use a comma as the decimal separator, and Excel often needs a UTF-8 byte-order mark before it displays accented characters correctly.

Frequently Asked Questions

How do I convert JSON to CSV?

Paste an array of objects and pick a delimiter. Every key across every row becomes a column, in first-seen order, so a key that only appears in the last record still gets a column instead of being dropped. Nested objects are written as JSON inside the cell.

How does the converter handle commas inside values?

Per RFC 4180, any field containing the delimiter, a double quote, or a line break is wrapped in double quotes, and quotes inside the value are doubled. That is the format Excel, Google Sheets and every standard CSV reader expect.

Why are my numbers strings after converting CSV to JSON?

CSV has no types — every field is text — so the converter keeps values as strings unless you turn on type conversion. Even then, values with leading zeros stay strings, because a zip code or account number turned into a number is a data-loss bug.

How to Use JSON ↔ CSV Converter

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.