Tool workspace

JSON ↔ CSV Converter

Input

Choose a delimiter, work with column headers, flatten nested JSON objects, and preview your data before copying or downloading the result.

Input

Output

Loading tool

Loading tool

Developer Tools

JSON ↔ CSV Converter

Choose a delimiter, work with column headers, flatten nested JSON objects, and preview your data before copying or downloading the result.

Quick guide

How to use

Choose a delimiter, work with column headers, flatten nested JSON objects, and preview your data before copying or downloading the result.

Details

About this tool

Choose a delimiter, work with column headers, flatten nested JSON objects, and preview your data before copying or downloading the result.

What are JSON and CSV?

JSON (JavaScript Object Notation) is a text format used to store and exchange structured data. It represents information using objects, arrays, and values such as strings, numbers, booleans, and null.

CSV (Comma-Separated Values) is a text format commonly used for tabular data. It organizes information into rows and columns, making it useful for spreadsheets, data exports, and many data-processing workflows.

Converting between JSON and CSV can help when moving records between an API, a spreadsheet, or another application that expects a different data format.

Convert JSON to CSV

Paste or type your JSON data, or upload a file. The converter accepts a JSON object or an array of objects and turns the records into CSV rows.

When your JSON contains nested objects, you can flatten them into columns with dotted names. For example, a nested profile.city field becomes a CSV column named profile.city.

Arrays remain JSON values inside CSV cells rather than being expanded into separate rows or columns.

Convert CSV to JSON

Paste your CSV data or upload a file, then choose the delimiter used in the file:

Comma (,)

Semicolon (;)

Tab

Pipe (|)

You can choose whether the first row contains column headers. When headers are enabled, the first row supplies the property names in the resulting JSON objects. When headers are disabled, the converter creates generic column names.

You can also enable type inference to interpret values as JSON types where possible, including numbers, booleans, null, arrays, and objects. Without type inference, values can be kept as text.

Example: JSON to CSV

Consider this JSON record:

[

{

"name": "Alex",

"age": 30,

"profile": {

"city": "Berlin",

"country": "Germany"

}

},

{

"name": "Maria",

"age": 27,

"profile": {

"city": "Madrid",

"country": "Spain"

}

}

]

With nested object flattening enabled, the CSV output looks like this:

name,age,profile.city,profile.country

Alex,30,Berlin,Germany

Maria,27,Madrid,Spain

The nested properties become dotted column names, while each object becomes a data row.

Example: CSV to JSON

With the first row enabled as headers, this CSV:

name,age,city

Alex,30,Berlin

Maria,27,Madrid

becomes:

[

{

"name": "Alex",

"age": "30",

"city": "Berlin"

},

{

"name": "Maria",

"age": "27",

"city": "Madrid"

}

]

In this example, values are represented as strings. If type inference is enabled, values such as 30 may be converted to numbers.

If headers are disabled, the converter uses generic column names instead of taking property names from the first row.

Preview and validate your data

The converter displays a preview of up to six data rows and reports the total row count. This helps you inspect the result before copying or downloading it.

For CSV input, the tool can report issues such as:

Malformed CSV syntax

Rows with inconsistent numbers of fields

Duplicate column headers

Quoted values, escaped quotation marks, and fields containing line breaks are supported. Error messages help identify data that may need attention before conversion.

More ways to work with your data

Practical inputs

Examples JSON

Example: JSON to CSV

Consider this JSON record: [ { "name": "Alex", "age": 30, "profile": { "city": "Berlin", "country": "Germany" } }, { "name": "Maria", "age": 27, "profile": { "city": "Madrid", "country": "Spain" } } ] With nested object flattening enabled, the CSV output looks like this: name,age,profile.city,profile.country Alex,30,Berlin,Germany Maria,27,Madrid,Spain The nested properties become dotted column names, while each object becomes a data row.

Example: CSV to JSON

With the first row enabled as headers, this CSV: name,age,city Alex,30,Berlin Maria,27,Madrid becomes: [ { "name": "Alex", "age": "30", "city": "Berlin" }, { "name": "Maria", "age": "27", "city": "Madrid" } ] In this example, values are represented as strings. If type inference is enabled, values such as 30 may be converted to numbers. If headers are disabled, the converter uses generic column names instead of taking property names from the first row.

Help

Frequently asked questions

How do I convert JSON to CSV?

Paste or upload a JSON object or an array of objects, then run the conversion. The tool converts the records into CSV rows. You can also flatten nested objects into columns with dotted names.

How do I convert CSV to JSON?

Paste or upload your CSV data, select its delimiter, and choose whether the first row contains headers. The converter then creates JSON objects from the rows.

What happens when I enable headers?

The first CSV row is used as the property names for the JSON objects. If headers are disabled, the converter creates generic column names.

Which CSV delimiters are supported?

You can choose comma, semicolon, tab, or pipe as the delimiter.

Can the converter handle commas and line breaks inside quoted fields?

Yes. It supports quoted CSV values, escaped quotation marks, and fields containing line breaks.

What does type inference do?

Type inference attempts to interpret CSV values as JSON types, including numbers, booleans, null, arrays, and objects. Without it, values can remain strings.

Does the converter flatten nested JSON?

Yes. Nested objects can be converted into columns with dotted names, such as profile.city. Arrays remain JSON values inside CSV cells.

No.