Leave empty to auto-detect columns. Use the chosen flattening notation.
Converting…
Left JSON
Right CSV Preview
Ready. Paste JSON on the left and click “Convert JSON → CSV”.

JSON to CSV Converter

Convert JSON into CSV so you can analyze data in spreadsheets, BI tools, or data pipelines. JSON is nested and flexible, while CSV is flat and column-based. This JSON to CSV converter flattens your JSON and outputs CSV that opens cleanly in Excel, Google Sheets, and other data tools. Everything runs in the browser, so your data stays private and secure.

New features overview

This converter now supports advanced flattening, array expansion, column selection, custom null handling, and data type formatting. The diagrams below show how each feature changes the CSV output.

Diagram showing JSON to CSV flattening, array expansion, and output columns
Flatten nested JSON, decide how arrays are handled, and generate spreadsheet‑ready columns.

Flattening options (dot vs bracket notation)

Choose how nested keys are converted into CSV column names:

  • Dot notation: user.name
  • Bracket notation: user[name]

Use dot notation for analytics tools and bracket notation for systems that treat dots as special characters.

Array handling (stringify vs expand)

Arrays can be kept as a JSON string inside a single cell, or expanded into multiple rows. If you choose Expand arrays, optionally set the Array path (for example items or user.roles) so the converter knows which array to expand.

Use stringify for compact CSVs; use expand when you need one row per array element.

Column selection, order, and rename

Use the Columns box to control column order and rename headers. Enter one column per line. Examples:

user.id=ID
user.name=Name
meta.active -> Active
Diagram showing column ordering and renaming for JSON to CSV output
Column order is respected, and renames update the CSV header.

Null/undefined handling

Choose how empty values appear in CSV:

  • Empty cell (default)
  • "null" or "undefined"
  • Custom value (for example N/A)

Data type formatting

Control how values are formatted:

  • Booleans: true/false, 1/0, yes/no
  • Dates: ISO, locale string, or Unix timestamp
  • Numbers: auto or fixed decimals

Large JSON mode

Enable Large JSON mode to convert big arrays in chunks with a progress bar. The preview shows the first rows for speed, while the downloaded CSV contains the full dataset.

When to use each feature

  • Flattening: Use dot notation for analytics/BI tools and bracket notation for systems that treat dots as special characters.
  • Array handling: Choose stringify when you need a single cell per record; choose expand when you need one row per array item.
  • Array path: Set this when your JSON has multiple arrays and you want to expand a specific one.
  • Columns (order + rename): Use this when you need stable column order or friendly headers for spreadsheets.
  • Null handling: Use custom placeholders (e.g., N/A) if your downstream tool requires explicit values.
  • Data formatting: Use fixed decimals for finance data, ISO dates for data pipelines, and locale dates for human reports.
  • Large JSON mode: Use it for large datasets so the UI stays responsive and conversion doesn’t hang.

Why convert JSON to CSV

JSON is perfect for APIs but can be difficult to explore in tabular tools. CSV is widely used for reporting, data exports, and analytics workflows. Converting JSON to CSV is common when you need to share data with non-developers, import it into spreadsheets, or perform quick aggregation and sorting. It is also useful for moving data into data warehouses that accept CSV as an ingestion format.

How the conversion works

The converter maps JSON objects to rows and keys to columns. When you provide an array of objects, each object becomes a CSV row. Nested objects are flattened into dot-separated column names, and arrays are typically serialized or expanded depending on structure. This tool aims for a consistent, spreadsheet-friendly output without losing data.

How to use the JSON to CSV tool

  1. Paste JSON into the left editor or upload a JSON file.
  2. Click Convert JSON → CSV.
  3. Review the CSV table, then copy or download the output.

Example conversion

Input JSON:

[
  {"id": 1, "name": "Ava", "role": "editor"},
  {"id": 2, "name": "Ravi", "role": "admin"}
]

Output CSV:

id,name,role
1,Ava,editor
2,Ravi,admin

This CSV is ready for spreadsheets and data analysis tools.

Common issues and fixes

  • Invalid JSON: Use JSON Validator to fix syntax errors before conversion.
  • Nested objects: Deep nesting can create long column names. Consider simplifying the JSON or using JSON Flatten first.
  • Arrays in objects: Arrays may be serialized into a single cell. If you need multiple rows, restructure the data as an array of objects.
  • Missing headers: CSV headers are derived from keys. If keys vary across objects, some columns may be empty.
  • Comma in values: CSV output uses quoting to preserve commas inside values. This is expected behavior.

Best practices for clean CSV

  • Provide an array of objects for predictable rows.
  • Normalize key names to avoid inconsistent columns.
  • Keep nested data shallow, or flatten it with a standard naming scheme.
  • Validate the output in Excel or Google Sheets before sharing.
  • Use UTF-8 encoding to preserve non-English characters.

Use cases

  • Export API responses for reporting.
  • Prepare data for BI tools or dashboards.
  • Share structured data with non-technical teams.
  • Convert API logs into spreadsheets for quick review.

Handling nested JSON

Nested objects are flattened into columns using dot notation. For example, {"user":{"id":1,"name":"Ava"}} becomes columns like user.id and user.name. If your JSON is deeply nested, consider flattening it first with JSON Flatten so you can control the naming strategy.

Arrays and repeating data

Arrays can be tricky in CSV because a single row cannot represent multiple values cleanly. This converter may serialize arrays into a single cell or expand them depending on structure. If you need one row per array item, restructure your JSON into an array of objects where each object represents a single record.

CSV dialects and compatibility

CSV can vary by delimiter and quoting rules. This tool outputs standard comma-separated values with quotes when needed. If your target system expects semicolons or tabs, you may need to replace delimiters after conversion. Always open the CSV in your target system to confirm it imports correctly.

Data typing considerations

CSV is plain text, so types like numbers and booleans may be interpreted differently by spreadsheets. Excel may strip leading zeros or reformat dates. If you need strict typing, quote values or import with explicit column definitions.

Excel and Google Sheets tips

When importing CSV into spreadsheets, choose the correct encoding (UTF-8) to preserve special characters. If you have IDs with leading zeros or long numeric strings, set the column type to text during import. This prevents unwanted formatting changes that can break IDs or codes.

Automation workflows

For recurring exports, automate conversion with a script in your pipeline, then use this tool for quick verification. Keep a consistent schema so downstream systems do not break when fields are added or removed. If you need stable columns, define a canonical list of headers and ensure every object contains those keys.

Example with nested fields

Input JSON:

[
  {"user": {"id": 1, "name": "Ava"}, "active": true},
  {"user": {"id": 2, "name": "Ravi"}, "active": false}
]

Output CSV:

user.id,user.name,active
1,Ava,true
2,Ravi,false

Quality checks before sharing

After conversion, scan the CSV for empty columns, inconsistent values, or unexpected quoting. If you are sending the file to stakeholders, open it in your target spreadsheet tool and verify that sorting and filtering work as expected. This quick check prevents issues later in reporting or analysis.

Data governance

  • Remove personal or confidential fields before sharing CSV externally.
  • Export only the columns required for the task.
  • Maintain a versioning process for exported columns.
  • Publish a short data dictionary so column meanings stay clear.
  • Add a README alongside the CSV for recurring exports.

JSON to CSV converter online: quick tutorial

  1. Paste a JSON array of objects in the left editor.
  2. Choose flattening and column options to control headers.
  3. Click Convert JSON → CSV, then copy or download the CSV.

Keyword‑targeted phrases

  • json to csv
  • convert json to csv
  • json to csv converter
  • json array to csv
  • json to csv online
  • json to csv excel

FAQs

Is the CSV Excel-compatible?
Yes. The output is standard CSV that opens in Excel and Sheets.

Does it support large JSON?
Yes, but very large files may be limited by browser memory.

Are nested objects supported?
Yes, they are flattened into columns.

How do I flatten nested JSON for CSV?
Use the Flattening option (dot or bracket notation). Nested keys become columns like user.name.

Can I expand arrays into multiple CSV rows?
Yes. Set Array handling to Expand and optionally provide the Array path to choose which array to expand.

Can I reorder or rename CSV columns?
Yes. Use the Columns box to define order and labels (for example user.id=ID).

Will it change my data?
No. It only converts structure from JSON to CSV.

Is data uploaded?
No. Processing happens locally in your browser.

Can I convert CSV back to JSON?
Yes, use CSV to JSON.