GALAXY OF TOOLS

DEV SECTOR

JSON to CSV Converter

Turn a JSON array into a clean CSV file for Excel or Google Sheets, with nested objects flattened.

Preview

Runs entirely in your browser. Nothing you enter or upload is sent to a server.

Convert JSON to CSV without losing nested data

The JSON to CSV converter takes the JSON you get from an API, a database export or a log file and turns it into a CSV table that opens cleanly in Excel, Google Sheets, LibreOffice or Numbers. Nested objects are flattened into dot-named columns such as customer.city, so no data is dropped, and every key that appears in any record becomes a column.

Real-world JSON is rarely a neat flat array. Records are often wrapped in an envelope like {"data": {"orders": [...]}}, some fields only appear in a few rows, and values contain commas, quotes and line breaks. The converter finds the array of records for you, lines up the columns across all rows, and quotes fields exactly as RFC 4180 requires so spreadsheets read them correctly.

Conversion happens entirely in your browser. Your data is never uploaded, which matters when the JSON contains customer details, orders or internal reports.

How to use the JSON to CSV Converter

  1. Paste your JSON into JSON input, drop a .json or .jsonl file on it, or press Load file.
  2. Check Rows from. If your records sit inside an object, the largest array of objects is picked automatically — choose another path if you need a different list.
  3. Choose a Delimiter. Use comma for most tools, semicolon for Excel in regions that use a decimal comma, and tab for pasting into spreadsheets.
  4. Decide how Arrays inside rows are written: joined into one cell, kept as JSON text, or spread over numbered columns.
  5. Look over the Preview table, then press Download CSV or Copy.

JSON to CSV Converter features

Smart flattening

Nested objects become dot-path columns (address.city) at any depth. Untick “Flatten nested objects” to keep them as JSON text instead.

All keys, in order

Headers are the union of every key in every record, in the order they first appear, so optional fields are never lost.

RFC 4180 quoting

Fields containing the delimiter, double quotes or line breaks are wrapped in quotes and inner quotes are doubled. You can also quote every field.

Excel-friendly output

CRLF line endings and an optional UTF-8 byte order mark make accents, ₹, £ and emoji display correctly when the file is opened in Excel.

Finds your data

Records wrapped in envelopes such as data.items are detected automatically, and JSON Lines files (one object per line) are supported.

Live preview

The first 100 rows appear in a table as you type, and the CSV always contains every row.

How nested JSON maps to CSV columns

CSV is flat: one row per record, one value per cell. Each JSON value is mapped like this:

JSON valueCSV result
{"customer": {"city": "Leeds"}}Column customer.city = Leeds
{"items": ["Pen", "Ink"]}Pen; Ink (joined), ["Pen","Ink"] (JSON) or items.0, items.1 columns
{"items": [{"sku": 1}]}JSON text in one cell, or items.0.sku with one column per item
null or a missing keyEmpty cell
true / falsetrue / false
[["a","b"],["1","2"]]Written row by row exactly as given

Opening the CSV in Excel and Google Sheets

  • Accents look garbled in Excel? Keep “UTF-8 BOM for Excel” ticked. Without the BOM, Excel may read the file in your system’s legacy encoding and show é as é.
  • Everything lands in one column? Your Excel uses a regional list separator. In much of Europe that is a semicolon — choose “Semicolon” and download again.
  • Leading zeros vanish? Excel turns 007 or a PIN code like 011001 into a number. Import the file with Data → From Text/CSV and set that column to Text.
  • Long IDs turn into 1.23E+15? Excel keeps only 15 significant digits. Store such IDs as strings in your JSON, or format the column as Text when importing.
  • Google Sheets detects UTF-8 and commas automatically: use File → Import → Upload.

JSON to CSV Converter FAQ

How do I convert a JSON file to CSV?

Load the file with “Load file” or paste its contents, check that “Rows from” points to your list of records, and press “Download CSV”. The whole JSON to CSV conversion runs in your browser, so even large exports are processed privately.

What happens to nested objects and arrays?

Nested objects are flattened into columns named with dot paths, like customer.email. Arrays of simple values are joined with “; ” by default; you can keep them as JSON text or give each item its own column instead.

Why are some cells empty?

A record did not contain that key, or its value was null. Because the header row is the union of all keys, fields that only some records have will be blank for the others.

Can it convert JSON Lines (NDJSON)?

Yes. If the input is not a single JSON document but every line is valid JSON, each line is treated as one record.

Is there a size limit?

There is no fixed limit — files of several megabytes convert in about a second. Live updating pauses for very large inputs; press “Convert to CSV” instead. Phones have less memory than computers, so very large files are best converted on a desktop.

How do I turn CSV back into JSON?

Use the CSV to JSON converter. It can rebuild nested objects from dot-named columns, so a round trip keeps your structure.

You might also need