JSON to CSV Converter

Convert JSON to CSV, flatten nested objects, choose output options and download a CSV file.

Convert JSON to CSV in Three Steps

  1. Add JSON data. Paste an object or array, or upload a supported .json file.
  2. Choose conversion options. Set flattening, array handling and one of the available delimiters.
  3. Download and check the CSV. Open the file in a spreadsheet or CSV viewer before using it.

JSON-to-CSV Examples

Array of Objects

An array of objects is the clearest source for CSV because each object becomes one row.

[
  {"id": 1, "name": "Ada"},
  {"id": 2, "name": "Lin"}
]

The keys become columns and the objects become rows.

Single Object

A single flat object becomes one CSV row.

{
  "results": [
    {"id": 1, "status": "active"},
    {"id": 2, "status": "paused"}
  ],
  "count": 2
}

Objects with Different Keys

Real JSON arrays do not always contain identical objects. The converter builds a union of keys across the selected records.

[
  {"id": 1, "email": "[email protected]"},
  {"id": 2, "phone": "555-0100"}
]

The CSV contains id, email and phone columns. A field absent from a record uses the converter’s default missing-value text.

Flatten Nested JSON

Nested objects cannot fit directly into ordinary CSV columns. This tool flattens basic object paths into column names.

{
  "user": {
    "name": "Ada",
    "address": {
      "city": "London"
    }
  }
}

Suggested columns:

user.name
user.address.city

Choose How Arrays Are Written

Arrays need a deliberate output rule because one CSV cell cannot represent repeated structured records naturally.

  • Join primitive values: ["red","blue"] becomes red, blue.
  • Keep as JSON: preserve the complete array text in one quoted cell.

CSV Output Options

Delimiter

Choose comma, semicolon, tab or pipe. The selected delimiter is used for the header and every row.

Header Row

The default output includes column names. A toggle removes the header for systems that only accept raw rows.

Quoting

CSV values containing the delimiter, a quote or a line break are quoted correctly. Literal quotes inside a quoted field are escaped.

  • minimal quoting
  • quote all fields
  • line ending
  • include UTF-8 BOM when needed for spreadsheet compatibility

Common JSON to CSV Problems

Nested fields are missing

Enable flattening for path-based columns. Turn it off to keep nested objects as JSON text in a cell.

Some rows have blank cells

The JSON objects contain different keys or missing values.

Arrays are unreadable in Excel

Change the array strategy. Join primitive values for simple tags, or keep the original array as compact JSON when structure matters.

Accented characters look incorrect

Download with UTF-8-compatible settings and open the file using the correct encoding. If a BOM option exists, it only changes the byte prefix; it does not recode the content.

Review Large Files Before Conversion

For large or complex files, start with a representative sample and review the generated output before relying on it.

JSON to CSV FAQ

Can this converter handle nested JSON?

Yes, for the flattening behavior implemented in the options panel. Nested object keys can become path-based columns. Nested arrays require a separate array strategy.

How are CSV headers created?

The converter builds headers from the keys found across the selected records. When records have different keys, the union of those keys becomes the complete header set.

What happens to JSON arrays?

Primitive arrays can be joined or kept as JSON text. Arrays of objects are preserved as JSON rather than joined into unusable text.

Are numbers and booleans kept?

Their text representation is written to CSV. CSV itself does not preserve JSON types, so downstream software decides how each cell is interpreted.

Is the JSON uploaded?

Yes. All conversion inputs, including pasted text, are sent to the SolConverter API and storage for processing. Pasted text is uploaded unchanged as text.

Can I convert JSON back from the CSV?

Yes. Use the CSV to JSON converter and choose the header and type-detection options that match the file.