Tools

JSON ⇄ CSV Converter

Convert between JSON arrays and CSV tables

How to convert between JSON and CSV

  1. Choose the direction: JSON → CSV or CSV → JSON.
  2. Paste your data or open a file. Conversion happens as you type and a table preview shows the result.
  3. For JSON to CSV, nested objects are flattened into dot-separated columns such as address.city, and arrays are written as JSON text in a single cell.
  4. For CSV to JSON, the delimiter is detected automatically (comma, semicolon, tab or pipe), the first row becomes the keys, and numbers and true/false become real JSON values.
  5. Copy the result or download it. CSV downloads include a byte-order mark so Excel opens accented characters correctly.

Details that matter

The CSV parser follows RFC 4180: fields containing commas, quotes or line breaks are wrapped in double quotes, and quotes inside a field are doubled. That means addresses, descriptions and multi-line notes survive the round trip. If rows have a different number of fields than the header, the status line tells you how many, which usually points to an unquoted comma.

When the JSON is an object rather than an array, the converter looks for the first array inside it, which handles typical API responses like {"data": [...]}. Columns are the union of keys across all objects, so rows with missing fields simply get empty cells.

European spreadsheets often use semicolons because the comma is the decimal separator. Pick Semicolon when exporting for Excel in those locales.

Privacy

Your data is converted entirely in your browser and never uploaded, so customer lists, exports and reports stay on your device.

Why do leading zeros disappear?

This converter keeps values with leading zeros, such as 00123, as text. Spreadsheets, however, often strip them when opening a CSV; import the column as Text in Excel or Google Sheets. Turn off "Detect numbers" to keep every JSON value as a string.

Can I convert large files?

Yes, files of tens of megabytes convert fine. The preview shows the first 100 rows to keep the page fast; the output contains everything.

How are nested arrays handled?

Arrays are stored as JSON text inside one CSV cell, for example ["a","b"], so no data is lost and you can parse it back later.