Skip to main content
Free File Converter

JSON to CSV converter

Turn an array of JSON objects into a CSV spreadsheet file.

Processed in your browser. This file is converted on your device and is never uploaded.

Converter

Input

.json up to 25 MB. You can also drag a file here.

Options
Writes the object keys as the first row.

No file selected.

About this tool

CSV is the format spreadsheets, databases, and data tools accept everywhere, but APIs and configuration files almost always hand you JSON. This tool bridges the two: give it an array of JSON objects and it writes a CSV file with one row per object.

Column order follows the order keys first appear across the whole document, not just in the first object, so a field that only some records carry still gets its own column instead of being dropped.

Supported formats and limits

Input
.json
Output
.csv (text/csv)
Output name
The original name with the new extension, for example data.json becomes data.csv.
File size limit
25 MB
Processing
In your browser. The file is not uploaded.

How to use it

  1. Choose a .json file, or switch to Paste text and paste the JSON directly.
  2. Decide whether the first row should list the column names.
  3. Select Convert, then download the .csv file.

Limitations

  • The top level must be an array of objects, such as [{"name":"Ada"},{"name":"Alan"}]. A single object is treated as one row. Arrays of plain values or numbers are rejected with an explanation.
  • CSV is flat, so a nested object or array is written into its cell as JSON text rather than expanded into more columns.
  • null and missing fields become empty cells. Once written, an empty cell cannot be told apart from an empty string.
  • Types are lost. Everything in a CSV file is text, so numbers, booleans, and dates all arrive as strings when read back.
  • Converting back with the CSV to JSON tool will not reproduce the original document exactly, for the two reasons above.

Frequently asked questions

Is my file uploaded?
No. The conversion runs entirely in your browser. The file never leaves your device and no request carrying its contents is made.
What happens to nested objects?
They are written into a single cell as JSON text. Flattening them into columns like address.city would need naming rules that quietly break on arrays, so the structure is preserved verbatim instead.
Why do some rows have empty cells?
Every row gets every column found anywhere in the document. If a record does not have that field, its cell is left empty.
Are commas and quotes inside my values handled?
Yes. Any value containing a comma, a quote, or a line break is quoted and escaped according to the CSV convention, so it survives a round trip through a spreadsheet.
Which line endings does the output use?
Unix line feeds. If you need Windows line endings, run the result through the line endings tool.