Pro Every tool, icon and stickerAll of Pro for $5.99/month

  • All 85 tools
  • Festival Post Maker
  • Icon & sticker pack ZIPs
Go Pro
HubToolify
Developer Tools

JSON to CSV Converter Pro

Turn JSON or newline-delimited JSON into a CSV that opens straight in a spreadsheet. Nested objects become dotted columns and every record becomes a row. Free preview · Pro required to export. Convert and copy up to 3,000 characters free. Pro removes this limit and adds downloads.

Free preview · Pro required to export. Convert and copy up to 3,000 characters free. Pro removes this limit and adds downloads.

Loading…

Why use this tool?

  • API responses and database exports arrive as JSON, but analysts and colleagues want to open them in Excel or Google Sheets.
  • Nested objects need flattening before they fit a table, and doing it by hand across hundreds of records is slow.
  • Records that do not all have the same keys still end up in one table, with the missing values left blank.
  • Line-by-line JSON exports are accepted without needing to wrap them in an array first.

How to use JSON to CSV

  1. Paste JSON into the box, or drop a .json file. Files up to 8 MB are accepted.
  2. Choose a Delimiter. "Detect automatically" writes commas; semicolon, tab and pipe are also available.
  3. Check the notice if something is wrong. Invalid JSON is reported with the parser's message.
  4. Look at the row, column and size counts and the table of the first rows.
  5. Press the copy button, or download data.csv.

Features

  • Accepts a JSON array, a single object, or NDJSON with one object per line
  • Nested objects flattened into dotted column names such as address.city
  • Arrays are written into the cell as JSON text, since a CSV row cannot hold a list
  • Header built from the keys of every record, so a key that appears only in later records still gets a column
  • Output values are quoted properly when they contain delimiters, quotes or line breaks
  • Choice of comma, semicolon, tab or pipe delimiter
  • Preview of the first eight rows plus row, column and size counts

Supported formats

Accepts pasted JSON or NDJSON, or a .json file, up to 8 MB. Produces CSV text that you can copy or download as data.csv.

Tips

  • If a field contains an array of values, it will appear in one cell as JSON text. Split it afterwards in your spreadsheet if you need separate columns.
  • A single object is treated as one record, so you get a header row and one data row.
  • Use a semicolon delimiter if the CSV will be opened in a spreadsheet set up for a decimal comma.
  • A list of plain values, such as numbers or strings, is written to a single column called value.

Frequently asked questions

Is the JSON uploaded?

No. The text is parsed and converted in your browser, with no request carrying your data.

How are nested objects handled?

They are flattened. An object like {"address": {"city": "Leeds"}} becomes a column called address.city.

What happens to arrays?

An array is written into its cell as JSON text, because one CSV row holds one value per column.

Can I convert newline-delimited JSON?

Yes. If the text is not valid JSON as a whole but every line is, each line is read as a record.

What if records have different keys?

The header is the combined list of keys in the order they first appear, and records without a key get an empty cell there.

Why does it say the JSON is not valid?

The text could not be parsed. The message from the parser is shown to help you find the problem, such as a trailing comma or a missing quote.

Can I try this Pro tool without an account?

Yes. Convert and copy up to 3,000 characters free. Pro removes this limit and adds downloads. Your own input is processed locally in your browser.

Will upgrading keep my work?

Checkout and login open in a separate tab. Keep the workspace open to retain inputs, settings and previews. Files stay in that tab only; keep the originals in case you close or reload it. Export access is checked with the server after payment.

Your files are processed directly in your browser and are not uploaded to HubToolify's servers.