Lintify Logo
Lintify
Converters

JSON to CSV Converter

Flatten a JSON array of objects into clean CSV ready for Excel, Google Sheets, or any data tool. Pick a delimiter, choose whether to flatten nested objects.

JSON array
1
CSV
Output will appear here…

Turn a JSON array into a spreadsheet-friendly CSV

JSON and CSV are the two most common formats for moving tabular data between systems. JSON is what APIs speak; CSV is what spreadsheets (Excel, Google Sheets, Numbers) and most data tools (Pandas, R, dbt) speak. The JSON to CSV converter bridges that gap: paste a JSON array of objects, pick a delimiter, and download a clean CSV file that opens in any spreadsheet application.

The converter uses the json2csv library, the same one that powers most Node.js CSV exports. By default, nested objects are flattened with dot notation — an object like {"address": {"city": "Mumbai"}} becomes a column called address.city. Toggle that off if you want only top-level fields as columns.

Which shape of JSON works?

The converter expects either a JSON array of objects (the most common shape for tabular data) or a single object (which produces a one-row CSV). If your JSON is a nested object that contains the array somewhere inside, extract the array first with the JSON Path tool, then paste the extracted array here. Trying to convert an arbitrary nested object produces messy CSV with unpredictable column names.

Choosing a delimiter

Comma is the default and works with almost every spreadsheet and data tool. Semicolon is the standard in many European locales where the comma is the decimal separator — if you open a comma-separated CSV in a German Excel, every row ends up in a single column. Tab-separated values (TSV) are useful when you want to paste directly into Excel without going through a file, because Excel interprets tab as a column separator on paste.

Unicode and Excel

Lintify outputs CSV as UTF-8 text. Modern Excel versions auto-detect UTF-8, but if you see broken characters when opening the file (especially with non-Latin scripts like Cyrillic, Arabic, or CJK), import it explicitly as UTF-8 using Excel's text import wizard. For maximum compatibility, save the file with a BOM (byte-order mark) — Excel respects the BOM and will not get confused about the encoding.

Frequently asked questions

Common questions about the JSON → CSV tool.

What shape should my JSON be in?
Lintify expects either a JSON array of objects (the most common shape for tabular data) or a single object (which produces a one-row CSV). If your JSON is a nested object that contains the array somewhere inside, flatten it first with the JSON Path tool to extract the list.
How are nested objects and arrays handled?
By default, nested objects are flattened using dot notation (address.city becomes a column called address.city). Arrays are serialized as a JSON string inside the cell. You can toggle this behavior off if you want only top-level fields as columns.
Which delimiter should I use?
Comma is the safest default and works with almost every spreadsheet and data tool. Semicolon is the standard in many European locales where the comma is the decimal separator. Tab is useful when you want to paste directly into Excel without going through a file.
Why are some of my values wrapped in quotes?
CSV wraps any value that contains the delimiter, a quote, or a new line in double quotes, and doubles every literal double quote inside the value. This is required by RFC 4180 so that a value like "hello, world" does not split into two columns when a spreadsheet reads it.
Does the converter handle Unicode correctly?
Yes. Lintify outputs CSV as UTF-8 text. Modern Excel versions auto-detect UTF-8, but if you see broken characters when opening the file, save it with a BOM (the tool offers a download that includes one) or import it explicitly as UTF-8 in Excel's text import wizard.

Related tools