JSON to CSV Converter - Free, No Sign-Up

JSON to CSV Converter

Convert a JSON array of objects to CSV. Paste JSON, choose a delimiter, and download the result.

This JSON to CSV converter turns a JSON array of objects into a CSV table you can open in a spreadsheet. Paste your JSON, pick a delimiter, choose header and quoting options, then copy the result or download it as a file. It is free, needs no sign-in, and suits developers, analysts and marketers.

What Is JSON to CSV Conversion?

JSON to CSV conversion turns nested, key-value data into flat rows and columns that a spreadsheet can read. JSON (JavaScript Object Notation) stores records as objects with named keys, and those objects can hold other objects and lists. CSV (comma-separated values) is plain text where each line is one record and a delimiter separates the values.

The gap between the two formats is nesting. A spreadsheet has no cell inside a cell, so the data has to be flattened before it fits a grid. Here is how this page handles each case.

How nested and uneven data is flattened

  • Nested objects become one column per value, with the path joined by dots. address containing city becomes a column named address.city.
  • Arrays stay in a single cell as JSON text, for example ["admin","dev"].
  • Null values become empty cells, and an empty nested object appears as {}.
  • Uneven records are fine. The columns are every key found in any object, in the order each key first appears, and missing values stay blank.
  • A single object instead of an array is treated as one row.
  • Plain values inside an array, such as numbers or strings, are placed in a column named value.

How to Use the JSON to CSV Converter

You can finish a conversion in six steps, and the form lists every option in the order below.

  1. Paste your data into the JSON Input box. The placeholder shows the expected shape: an array of objects such as [{"name":"John","age":30},{"name":"Jane","age":25}].
  2. Open Delimiter and choose Comma (,), Semicolon (;), Tab or Pipe (|).
  3. Set Header row to Include if you want column names on the first line, or Skip to output data rows only.
  4. Set Quote strings to When needed, Always or Never.
  5. Click Convert. The text appears in the CSV Output box and a message confirms how many lines were created.
  6. Click Copy to put the CSV on your clipboard, or Download CSV to save a file. If copying fails, select the output text and copy it by hand.

Worked Example: Nested Data With Uneven Records

This example shows what happens when two records have different keys and one contains a list. Paste this into JSON Input:

[{"name":"John","age":30,"address":{"city":"Austin"}},{"name":"Jane","age":25,"tags":["admin","dev"],"note":"Likes tea, coffee"}]

With Comma, Include and When needed selected, the CSV Output reads:

  • name,age,address.city,tags,note
  • John,30,Austin,,
  • Jane,25,,"[""admin"",""dev""]","Likes tea, coffee"

There are three lines: one header and two records, across five columns. John has no tags or note, so those cells are empty. Jane has no address, so address.city is blank. Her tags cell is wrapped in quotes because the list contains commas, and the inner quotes are doubled, which is the standard CSV way to escape them. Her note is quoted for the same reason.

How Do You Read the Output and Fix Errors?

Read the output by checking the header line first, then scanning a few rows for blank cells and wrapped values. If a conversion fails, a red message starting with "Could not convert:" explains the cause.

What the Quote strings options do

OptionBehaviorBest for
When neededQuotes only values with the delimiter, a double quote or a line breakMost files
AlwaysQuotes every value, including numbers and headersImporters that expect quoted text
NeverAdds no quotes and stops if a value needs oneSimple, clean data

Common errors and the fix

  • Invalid JSON. Trailing commas, single quotes and unquoted keys are the usual causes. Run the text through a JSON formatter and validator to find the exact spot, then paste it back.
  • Top level is not an array or object. A bare string or number cannot become a table. Wrap your records in square brackets.
  • Flattened key collision. This appears when two paths produce the same column name, such as a key literally named a.b next to an object a containing b. Rename one key and convert again.
  • A field needs quoting. You chose Never, but a value contains the delimiter, a quote or a line break. Switch to When needed or Always.
  • Empty output. An empty array [] has no records, so there is nothing to write.

Which Delimiter Should You Choose?

Choose comma unless your target program expects something else. Comma is the standard and works in almost every importer.

  • Semicolon: a common choice for spreadsheets in regions where the comma is the decimal separator, such as much of Europe.
  • Tab: useful when you paste straight into a spreadsheet, and when values contain many commas.
  • Pipe: handy when text contains commas, semicolons and tabs, since a pipe character is rare in normal prose.

Whatever you pick, the converter quotes values that contain that exact character when you use When needed, so the columns stay aligned.

Who Uses a JSON to CSV Converter?

Anyone who receives JSON but works in a spreadsheet benefits from it. A few typical situations:

  • An analyst has an API response with 500 customer records and needs a pivot table.
  • A marketer exports product or listing data and wants to filter and sort it in a spreadsheet.
  • A developer wants a quick CSV for a bug report or a test fixture without writing a script.
  • A site owner needs to move structured data into an importer that accepts only CSV.

For one-off jobs, pasting is usually faster than writing code in Python with pandas or in PowerShell. Excel can import JSON through its data import features, but nested records typically need manual expanding, which this page does in one click. If you later need to go back, the CSV to JSON converter reverses the process.

Best Practices and Common Mistakes

Most bad results come from the input, not the options. These habits prevent the usual problems.

  • Keep records consistent. If one object uses zip and another uses postcode, you get two columns. Normalize key names before converting.
  • Use When needed for general work. It produces the smallest valid file and handles commas and quotes correctly.
  • Skip the header only on purpose. Choose Skip when you are appending rows to a file that already has column names.
  • Check long numbers and leading zeros. The CSV text keeps values as given, but a spreadsheet may reformat a ZIP code like 02134 or a long ID when you open the file. Import that column as text if it matters.
  • Expect arrays in one cell. If you need each list item in its own column or row, reshape the JSON first.
  • Source in another format? Convert XML to JSON or YAML to JSON first, then bring the result here.

Limitations to Know About

This converter works on text you paste, so it does not open files from your device. The output is a flat table, which means deeply nested lists are kept as JSON text instead of being split into extra rows. Line breaks in the CSV use the Windows style (carriage return plus line feed), which spreadsheet programs read without trouble. Always open the result in your target program and check the first few rows before importing a large file.

Paste your JSON into the box above, choose your delimiter and quoting, and click Convert to get a clean CSV in seconds. Explore more utilities in the web developer tools collection when you need to format, compare or transform other data.

Frequently Asked Questions

How do I convert JSON to CSV?
Paste a JSON array of objects into the JSON Input box, choose a delimiter, header and quoting option, then click Convert. The CSV appears in CSV Output, and you can copy it or click Download CSV to save a file.
Can Excel open the CSV from a JSON to CSV converter?
Yes, Excel opens CSV files, and you can download one with the Download CSV button. If columns end up merged in one cell, convert again with the Semicolon or Tab delimiter, which suits some regional settings.
What happens to nested objects and arrays in my JSON?
Nested objects are flattened into dot-notation columns, so address with a city value becomes address.city. Arrays stay in one cell as JSON text, for example ["admin","dev"], which keeps each record on a single row.
What does the Quote strings option do?
Quote strings controls double quotes around values. When needed wraps only values containing the delimiter, a quote or a line break. Always wraps every value, and Never adds none but shows an error if a value needs quoting.
Why do I get a Could not convert error?
The message means the JSON could not be turned into a table. Common causes are invalid JSON such as a trailing comma, a top level that is not an array or object, or two keys flattening to the same column name.
Is the JSON to CSV converter free, and what delimiters can I use?
Yes, the converter is free and needs no sign-in. You can choose Comma, Semicolon, Tab or Pipe as the delimiter, and you can include or skip the header row to match the file you need.
Recommended

Explore VPN options

A VPN changes your network exit. It does not guarantee anonymity.

Hide Your IP Encryption Network coverage
Protect My IP Now

CSV export

Preserves string property names, including __proto__ and constructor. Flattened-key collisions and unsafe unquoted output are rejected rather than silently losing data. Review spreadsheet formula handling before importing untrusted cells.

Implementation reviewed: 4 October 2026. Source documentation