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.

Browser only Nested JSON flattening Delimiters & UTF-8 BOM
Converter

JSON to CSV Converter

Browser only

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.

Private by design

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.

No upload: your file is converted in this tab. We do not receive your file name or file content.
Three steps

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.

1

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.

2

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.

3

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.

Example

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
Nested data

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.

Arrays

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].

Options

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.

Spreadsheets

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.

Good to know

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.

More converters

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.

Go to converter