Private data converter
JSON to CSV Converter
Convert JSON arrays, nested objects, and API responses into CSV files. Customize columns, delimiters, and Excel-friendly encoding. Free, private, and processed entirely in your browser.
JSON to CSV Converter
JSON Input
CSV Output
Paste JSON or upload a file to choose which data to convert.
This option adds an apostrophe before values starting with =, +, -, or @, including after leading spaces. It can change the original text and is not guaranteed for every spreadsheet app.
Your JSON never leaves this tab
Your JSON is pasted or opened, flattened, and converted to CSV locally in your browser.
Processed locally
Your JSON file is read and converted right here in this browser tab.
No account required
No account, email address, or payment details required.
Visible sheets stay separate
API responses, nested objects, and uploaded .json files stay on your device until you copy or download the CSV.
How to Convert JSON to CSV
Use this page for a plain CSV download with delimiter and encoding control. If you need a multi-sheet .xlsx workbook instead, use the JSON to Excel Converter. To go the other way, use CSV to JSON.
Paste or Upload JSON
Paste JSON text or choose a .json file. Use Format JSON to make it easier to read, or Validate to check for errors.
Choose Your CSV Options
Choose which data to convert and how nested objects and lists should appear. Then select your delimiter and encoding, and whether to include column names.
Copy or Download CSV
Check the table or CSV text preview, then copy the CSV or download a .csv file for Excel or Google Sheets.
JSON to CSV Example
Each object becomes one row. With flattening on, nested fields such as address.city become their own columns rather than staying together in one cell.
JSON input
[
{
"id": 101,
"name": "Alice",
"address": {
"city": "Boston",
"zip": "02108"
}
},
{
"id": 102,
"name": "Bob",
"address": {
"city": "Austin",
"zip": "73301"
}
}
] CSV output
id,name,address.city,address.zip
101,Alice,Boston,02108
102,Bob,Austin,73301 Convert Nested JSON to CSV
Flattening is the main decision for nested objects. Leave it on when you want spreadsheet columns; turn it off when a nested value should stay intact in one cell.
Dot-notation columns
Nested objects become columns such as address.city and profile.contact.email, so filters and pivots work on real fields.
Keep nested objects in one cell
Turn off Expand nested objects into columns if the app you import into needs the original nested JSON in one cell.
Column name conflicts
A field named address.city can have the same column name as a city field inside address. The converter warns you and gives each column a unique name to keep both values.
Numbers and long IDs
Long numeric IDs may lose precision during conversion. Put them in quotes in your JSON, such as "1234567890123456789", to preserve the exact digits.
Convert JSON Arrays to CSV
For a JSON array of objects, each object becomes one row. All fields appear as columns, with blank cells where a record has no value.
JSON array
[
{"id": 1, "name": "Alice"},
{"id": 2, "name": "Bob"}
] CSV rows
id,name
1,Alice
2,Bob API response path
Choose the list you want to convert, such as data.users in this example. Each user becomes a row; success and fields outside that list are not included.
{
"success": true,
"data": {
"users": [
{"id": 1, "name": "Alice"},
{"id": 2, "name": "Bob"}
]
}
} Arrays inside a row—tags, items, permission lists—stay as JSON text by default so row counts stay predictable. Choose Join values in one cell for lists of text or numbers, or Separate columns for columns such as tags[0] and tags[1].
JSON to CSV Conversion Options
Choose the separator between columns, the text encoding, and how lists appear in your CSV.
Delimiter and headers
Comma fits most tools. Prefer semicolon for locales where Excel treats comma as a decimal mark. Keep the header row on unless the app you import into requires a CSV without column names.
Array handling
Keep as JSON text preserves each list in one cell. Choose Join values in one cell for lists of text or numbers, or Separate columns to put each item in its own column.
UTF-8 and Excel BOM
Choose UTF-8 with BOM when people will open the file by double-clicking in Excel on Windows. Keep plain UTF-8 if the app you import into does not support a BOM.
Reduce formula risks
Enable only if values may start with =, +, -, or @ (including after leading spaces). This option adds an apostrophe before those values so spreadsheets are less likely to treat them as formulas. It can change the original text and is not guaranteed for every app.
JSON to CSV for Excel and Google Sheets
Open your CSV in Excel or import it into Google Sheets. Need an .xlsx workbook instead? Use the JSON to Excel Converter instead.
Open in Excel
Download CSV, then open or use Data → From Text/CSV if characters look incorrect when you double-click the file. BOM helps Windows Excel detect UTF-8; match the delimiter to your regional Excel settings.
Google Sheets
File → Import accepts UTF-8 CSV. A comma-separated file with a header row usually lands cleanly as a new sheet.
JSON file to CSV
Upload a .json export, choose the data to convert and check the columns in the preview, then download CSV without installing desktop tools.
Stays in this browser
The JSON you paste or open is not uploaded for conversion. Copy or download only happens when you choose it.
Frequently Asked Questions
How do I convert JSON to CSV?
Paste JSON or upload a .json file. Choose the data you want to convert, such as the list at data.users. Set delimiter, header row, and encoding, then convert. Preview the table, copy the CSV, or download a .csv file. For an .xlsx workbook instead, use the JSON to Excel converter.
Can I convert JSON to CSV online for free?
Yes. This free online JSON to CSV converter needs no account. Conversion runs in your browser, so you can convert JSON files to CSV without uploading them to a server.
How do I convert a JSON array to CSV?
Paste a JSON array of objects. Each object becomes one row, and keys become headers. If later objects add fields the first row lacked, those columns still appear—empty cells fill the gaps. Nested arrays inside a row stay as JSON text by default so each object stays in one CSV row.
Can I convert nested JSON to CSV?
Yes. With Expand nested objects into columns on, fields become columns such as address.city. Turn it off to keep each nested object as JSON in one cell. If two columns would have the same name, the converter warns you and gives each a unique name to keep both values.
Can I open the CSV file in Excel?
Yes. Prefer UTF-8 with BOM when people double-click the file in Excel on Windows. Select Reduce formula risks in spreadsheets if values might start with =, +, -, or @ (including after leading spaces). This option can change the original text and is not guaranteed for every spreadsheet app. Long numeric IDs may lose precision during conversion. Put them in quotes in your JSON to preserve the exact digits.
Is my JSON file uploaded to a server?
No. Parsing and conversion stay in this browser tab. File contents, file names, and field values are not sent to xlsxtocsv.net or analytics services.
Related Data Converters
Ready to convert JSON to CSV online?
Paste JSON or upload a file and create CSV without sending anything to a server.