JSON in, CSV out

JSON Text to CSV Converter

Paste a JSON array and turn it into a clean CSV. The converter reads an array of objects, builds columns from the keys, flattens nested values, and exports CSV (or TSV, pipe and more) you can open anywhere.

FreeNo sign-upRuns in your browserExcel-friendly
JSON Text to CSV Converter
Paste or upload text to convert.
Input — paste or upload
Drag a file here, or browse (.txt, .csv, .tsv, .json)
Output
Input is
Input delimiter
Column widths
Output as
Custom delimiter
Plain text style
Quoting
Line ending

A live table preview of your data appears here.

Paste a JSON array of objects above — the keys become your CSV header row.

Advertisement
What it does

Convert JSON text to CSV

APIs and config files speak JSON, but spreadsheets and many tools want CSV. This tool handles the common json to csv job: paste a JSON array of objects and it produces a table where each object is a row and each key is a column.

It collects the union of keys across all objects, so even if some records are missing a field, every column still lines up — missing values become empty cells. Nested objects and arrays are written as compact JSON inside their cell, so no data is silently dropped.

Going the other way? Use text to CSV for delimited input, or export your CSV as an HTML table. For a quick reverse, the converter can output JSON from CSV too.

Step by step

How to use it

Paste or upload

Add your text or drop a file — it is read locally in your browser, never uploaded.

Preview & adjust

Check the live table and the row / column counts, then tweak the delimiter or options if a column looks off.

Copy or download

Grab the result with Copy or Download. You can reopen recent conversions from this device too.

Example

Input and output example

A JSON array of objects becomes a CSV with the keys as the header row.

Input
[{"name":"Ada","age":31},
 {"name":"Lin","age":27}]
Output
name,age
Ada,31
Lin,27
Details

How JSON maps to CSV columns

Understanding the mapping helps you get exactly the table you expect.

Array of objects

The standard input is a JSON array like [{"name":"Ada","age":31}, ...]. Each object becomes a row; the keys (name, age) become the header. Tick First row is header to keep those names visible in the preview.

Uneven or missing keys

Real data is rarely uniform. If one object has a key another lacks, the converter still includes that column for every row and leaves the cell empty where the value is absent, so the CSV stays rectangular and imports cleanly.

Nested objects and arrays

When a value is itself an object or array, it is serialized as compact JSON within the cell rather than being dropped. If you need those broken into separate columns, flatten the JSON first, then convert.

Choosing the output

CSV is the default, but you can export TSV, pipe, semicolon or a custom delimiter from the same parsed data — handy when the destination is a database load rather than a spreadsheet.

Good to know

Tips and edge cases

  • Wrap multiple records in an array: [ {...}, {...} ].
  • Need nested fields as columns? Flatten the JSON before converting.
  • Use Sample to load an example JSON array and see the mapping.
FAQ

JSON Text to CSV Converter — FAQ

What JSON shape does it expect?

An array of objects works best. A single object or an array of arrays is also supported.

How are nested objects handled?

They are written as compact JSON inside the cell. Flatten beforehand if you want them split into columns.

What if records have different keys?

The converter uses the union of all keys and leaves missing values empty, keeping the CSV rectangular.

Is anything uploaded?

No. The JSON is parsed and converted in your browser.