Skip to content
ToolForge
Developer Tools

JSON to CSV Converter

Free JSON to CSV converter and CSV to JSON. Handles nested objects by flattening with dot notation, arrays with indexes, RFC 4180 quoting, and custom delimiters.

Free, no sign-upRuns in your browserNothing uploaded

Converted to CSV

13 columns.

Output, read only.

Column mapping (13)

Nested keys are flattened with dots and arrays get numeric indexes. Checking this against what you expected is the single most useful check before trusting a spreadsheet.

  • id
  • name
  • email
  • active
  • roles
  • address.city
  • address.country.code
  • orders.0.sku
  • orders.0.qty
  • orders.0.total
  • orders.1.sku
  • orders.1.qty
  • orders.1.total
input bytes
541
output bytes
295
columns
13
delimiter
,

The quickest path between an API and a spreadsheet. Paste an array of JSON objects and you get CSV; paste CSV and you get a JSON array. Excel, Google Sheets, Numbers and LibreOffice all open the result directly.

Nested data is where most converters fall apart. An object nested three levels deep has no natural column, so this tool flattens it with dot notation - user.profile.name becomes a single column called user.profile.name. Arrays of objects are given numeric indexes: items.0.sku, items.1.sku. The mapping is shown in a column list so you can see exactly how your structure was interpreted, which matters more than it sounds when a spreadsheet is involved.

Parsing follows RFC 4180 properly. Quoted fields containing commas, newlines and escaped double quotes are handled, which means a CSV exported from Excel with embedded line breaks survives the round trip. You can change the delimiter between comma, semicolon and tab, which is what European locales usually need, and pick whether arrays become repeated columns or JSON text.

JSON to CSV Converter features

Nested data flattening
Deep objects become dot-notation columns such as address.country.code, with optional bracket notation for array indexes.
Configurable array handling
Flatten arrays to indexed columns, serialise them as compact JSON text, or join them with a separator - the right choice differs per spreadsheet.
RFC 4180 CSV parsing
Correctly handles quoted fields with embedded commas, newlines and doubled quotes, so Excel exports round-trip cleanly.
Delimiter choice
Comma, semicolon, tab or pipe, with the output quoted only where required rather than everywhere.
Bidirectional
JSON array to CSV and CSV to JSON in the same tool, with type inference so numbers, booleans and nulls survive the return trip.
Header control
Use your first object as the header row, or supply custom column names, and reorder or drop columns before converting.
Large file support
Files of several megabytes convert in a worker so the page stays responsive.

How to use the JSON to CSV Converter

  1. Paste JSON or CSV

    Put an array of objects in the JSON side and get CSV instantly, or paste CSV with a header row and get a JSON array. The header row is required to convert CSV to JSON.

  2. Review the column mapping

    Nested keys are flattened with dots and arrays get numeric indexes. The column list shows every generated column so you can check nothing collapsed together.

  3. Choose your delimiter

    Comma, semicolon or tab. Semicolon is the right choice for locales where the comma is a decimal separator, which is most of them.

  4. Copy or download

    Copy the result, download it as .csv, or open it straight in a spreadsheet. The download always includes UTF-8 byte order mark handling for Excel compatibility with accented characters.

Frequently asked questions

How should nested JSON be converted to columns?

With dot notation. An object at user.profile.name becomes a single column literally called user.profile.name; array entries get numeric indexes like items.0.sku. This is the same convention MongoDB and most analytics tools use, so it is recognisable in a spreadsheet.

Why did my array disappear or become one long string?

Arrays have no single obvious column. By default they are serialised as compact JSON text in one cell, which is lossless but awkward in a spreadsheet. Switch array handling to flattened columns if you want one column per element.

When should I use a semicolon instead of a comma?

In any locale where the comma is the decimal separator, which is most of Europe and Latin America. Excel there will split a comma-delimited file into extra columns. Semicolon or tab avoids the problem entirely.

Can I convert CSV to JSON?

Yes. Paste the CSV including its header row and you get a JSON array of objects, with numbers, booleans and nulls inferred rather than left as strings.

How are quotes and commas inside a field handled?

Per RFC 4180, a field containing a comma, a newline or a double quote is wrapped in double quotes and any internal double quote is doubled. This tool both writes and reads that form, which is why a CSV exported from Excel with multi-line cells survives the conversion.

My spreadsheet shows accented characters as question marks

That is an encoding mismatch. The download is UTF-8, which is correct; older Excel versions on Windows sometimes assume the system codepage. Open the file with Data then From Text and pick UTF-8, or import from Google Sheets which always gets it right.

Every tool, in one place

ToolForge has json to csv converter plus a growing set of image, colour and developer tools. All of them run locally in your browser, free and without an account.

Browse all tools