Skip to main content

JSON to CSV Converter

JSON to CSV Converter turns a JSON object, or an array of JSON objects, into CSV entirely in your browser.

Delimiter
Line ending

Paste a JSON object or an array of objects, choose the options, then convert. Nested objects are flattened with dot notation; nested arrays are kept as JSON text.

Converts JSON objects into CSV locally in your browser. JSON numbers use JavaScript number semantics, so very large integers can lose precision. Formula protection reduces the risk that some spreadsheets interpret a cell as a formula; it does not prevent every CSV issue. Different from the CSV to JSON tool, which goes the other way.

Processed locally in your browser

How to use it

  1. Paste a JSON object or an array of objects into the input
  2. Choose the delimiter (comma, semicolon, tab) and the line ending (CRLF or LF)
  3. Optionally turn off the header row, keep formula protection on, or add a UTF-8 BOM for download
  4. Click Convert to CSV, then copy the result or download converted.csv

Paste your JSON, click Convert to CSV, and get a preview plus buttons to copy or download the result as converted.csv. Nested objects are flattened into columns using dot notation, so a user object with an address becomes columns like user.address.city. Nested arrays are not exploded into extra rows; they are kept as JSON text in a single cell. If a flattened key would collide with a dotted key already in the data, the tool stops with a clear message instead of silently overwriting. Column headers are the union of every object's keys, in first-appearance order — never sorted alphabetically — and missing keys become empty cells. Values are written straight through: null becomes an empty cell, booleans become true or false, numbers keep their JSON form without locale formatting, and strings are quoted per RFC 4180 whenever they contain the delimiter, a double quote, or a line break, with internal quotes doubled. You choose the delimiter (comma, semicolon, or tab), the line ending (CRLF as recommended by RFC 4180, or LF), whether to include a header row, and whether to add a UTF-8 BOM to the downloaded file for older spreadsheet software. An optional formula-protection setting, on by default, prefixes an apostrophe to string cells that begin with =, +, - or @, which reduces the chance that a spreadsheet treats the cell as a formula; it is not a guarantee against every CSV problem and never touches native numbers. JSON numbers are parsed with JavaScript number semantics, so very large integers can lose precision. Everything runs locally: the JSON, the CSV, your options and the stats are never uploaded, logged, or stored. This is the opposite direction of the CSV to JSON tool, which turns tabular CSV into JSON objects.

FAQ

We use cookies to run this site and, with your consent, to understand usage and personalize ads. You can change your choice at any time.