Language
English English Vietnamese (Tiếng Việt) Vietnamese (Tiếng Việt) Chinese (简体中文) Chinese (简体中文) Portuguese (Brazil) (Português do Brasil) Portuguese (Brazil) (Português do Brasil) Spanish (Español) Spanish (Español) Indonesian (Bahasa Indonesia) Indonesian (Bahasa Indonesia)
JSON to CSV Converter

JSON to CSV Converter

Convert JSON arrays to CSV with table preview, nested object flattening, and customizable comma, tab, semicolon, or pipe delimiters.

JSON to CSV Converter

This JSON to CSV converter turns a JSON array of objects into clean CSV you can open in a spreadsheet. Paste or upload your JSON, and it builds the columns, escapes the values, and shows the result instantly. It is built for developers, analysts, and anyone who needs JSON data in a tabular format.

It handles real-world data, not just flat records: nested objects are flattened into dot-notation columns (such as address.city), arrays are kept as JSON strings, and inconsistent keys across objects are merged into a single header row. Switch between a raw Text view and a spreadsheet-style Table view, then download a .csv file or copy the output to your clipboard.

Private by design: every conversion runs in your browser. Your JSON is never uploaded to a server, and nothing you paste, upload, or download is stored anywhere.

How to Convert JSON to CSV

1

Add your JSON

Paste a JSON array of objects into the input panel, click Upload File to load a .json or .txt file, or click Sample Data to try it with example data. A single JSON object is automatically wrapped in an array.

2

Choose your options

Pick a Delimiter — comma, tab, semicolon, or pipe — to match your target app. Keep Flatten nested on to expand nested objects into separate columns, or turn it off to keep them as JSON strings.

3

Preview the result

Conversion happens as you type. Stay in the Text view for raw CSV, or switch to the Table view to see your data in a spreadsheet-like grid with row numbers. The status bar reports rows, columns, and output size.

4

Export your CSV

Click Download to save the result as a .csv file, or Copy to send the CSV text to your clipboard. Open the file directly in Excel, Google Sheets, or Numbers.

Features

Instant Conversion

JSON arrays of objects convert to CSV in real time as you type or paste — no button to press, no waiting.

Nested Object Flattening

Nested objects expand into separate columns using dot notation, so {"address":{"city":"NY"}} becomes an address.city column.

Toggle Flatten On or Off

Turn flattening off to keep nested objects as compact JSON strings in a single column instead of expanding them.

Four Delimiter Options

Choose comma, tab, semicolon, or pipe to match standard CSV, TSV, European locales, or comma-heavy data.

Table Preview

View your output in a spreadsheet-style table with sticky headers, row numbers, and striped rows, scrollable for wide datasets.

Raw Text View

Switch to the Text view to read the exact CSV output character for character before you export it.

Upload JSON Files

Load a .json or .txt file straight from your device instead of pasting long data by hand.

Download & Copy

Save the result as a .csv file or copy the CSV text to your clipboard with a single click.

Standards-Compliant Escaping

Values that contain the delimiter, double quotes, or line breaks are automatically quoted and escaped per the CSV spec (RFC 4180).

Live Status Bar

A status bar shows validation state plus the row count, column count, and output file size as you work.

One-Click Sample Data

Load ready-made example JSON with nested objects and arrays to test the converter without typing anything.

Single Object Auto-Wrap

Paste a single JSON object and it is automatically wrapped in an array, so it converts to a one-row CSV with no edits.

Frequently Asked Questions

How do I convert JSON to CSV?

Paste a JSON array of objects into the input panel (or upload a .json file), pick a delimiter, and the CSV is built instantly. Then click Download to save a .csv file or Copy to copy the text. There is nothing to install or sign up for.

What JSON format does this tool accept?

It accepts a JSON array of objects, such as [{"name":"John"},{"name":"Jane"}]. A single JSON object is automatically wrapped in an array. Plain primitive values (a lone string, number, or boolean) are not supported because they do not map to rows and columns.

How is nested JSON converted to CSV?

With Flatten nested enabled, nested objects are expanded into separate columns using dot notation — {"user":{"name":"John"}} becomes a user.name column. Turn the toggle off and each nested object is kept as a JSON string in a single column instead.

How are arrays inside objects handled?

Arrays are always serialized as JSON strings, regardless of the flatten setting. For example, {"tags":["a","b"]} produces ["a","b"] in the CSV cell rather than separate columns.

What if objects have different keys?

The converter collects every unique key across all objects to build the header row. Where an object is missing one of those keys, the matching cell is simply left empty, so the columns always line up.

Which delimiter should I use?

Use comma for standard CSV files. Use tab for TSV or when pasting straight into a spreadsheet. Use semicolon for European locales where the comma is a decimal separator. Use pipe when your data already contains commas and semicolons.

How do I open the CSV in Excel or Google Sheets?

Click Download to get a .csv file, then open it in Excel, Google Sheets, or Numbers. If columns do not split correctly, re-export with a different delimiter — tab or semicolon often matches your spreadsheet's regional import settings best.

Is there a size limit?

There is no hard limit because everything is processed in your browser. Very large datasets (beyond about 10,000 rows) may convert more slowly, and the table preview is capped at 500 rows for responsiveness — the full data is still included in the downloaded file.

Is the conversion done in my browser?

Yes. All parsing, flattening, and CSV generation run locally in your browser. Your JSON is never uploaded, and nothing you convert is stored or tracked, so it is safe for sensitive or private data.

Delimiter:
JSON
CSV
Error

                

Paste a JSON array on the left to convert

| |
Paste a JSON array of objects to convert to CSV instantly
Enable Flatten nested to expand nested objects into separate columns (e.g., address.city)
Switch to Table view to preview your CSV data in a spreadsheet-like format
Change the delimiter to tab, semicolon, or pipe for different CSV formats
Single JSON objects are automatically wrapped in an array for conversion
All processing happens in your browser - your data never leaves your device
Want to learn more? Read documentation →
1/7
Start typing to search...
Searching...
No results found
Try searching with different keywords