💻 Web Dev Tools

JSON to CSV Converter

Convert JSON arrays to CSV instantly — and CSV back to JSON. Handles nested objects with dot-notation flattening (user.name), comma / semicolon / tab delimiters, live table preview and Excel-safe UTF-8 BOM download. 100% browser-side.

JSON → CSV and CSV → JSON Nested object flattening Comma · Semicolon · Tab delimiters Live table preview · UTF-8 BOM
AdSense — 728×90 Leaderboard

JSON to CSV Converter Tool

JSON input
CSV output
CSV input
JSON output
AdSense — 728×90 Leaderboard
📋
Need to validate your JSON first?
The free JSON Formatter validates and pretty-prints any JSON with line-numbered error highlighting. Fix malformed JSON before converting — especially useful with raw API responses that may have syntax errors.
📋 JSON Formatter →
⭐ User Ratings

Rate this tool

4.9
Based on 14,382 ratings
5
13,087
4
863
3
288
2
72
1
72
Was this converter helpful?
Thank you for your rating!
Features

Nested flattening, semicolon delimiter and live preview — features most JSON converters skip

Most free JSON to CSV tools fail on nested data or output everything into one column. This tool handles nested objects recursively using dot notation, supports European semicolon delimiters for Excel, shows a live table preview before you download, and converts CSV back to JSON too.

🌱
Nested object flattening
Recursively flattens nested JSON using dot notation. {"user":{"name":"Alice","city":"London"}} becomes columns user.name and user.city. Works at any depth. Arrays of primitives are joined with semicolons. Toggle off to keep nested data as JSON strings.
🔤
3 delimiter options
Comma (US/UK default), semicolon (French, German, Spanish Excel — where comma is the decimal separator), and tab (TSV for any spreadsheet). Choosing the right delimiter is critical for Excel to show columns without a manual import wizard.
🔍
Live table preview
After conversion a scrollable table with sticky gradient headers shows the first 100 rows — verify column structure before downloading. A stats bar shows total rows and columns. The nested-objects badge appears when flattening is applied. Absent on most free tools.
🔄
Bidirectional — CSV → JSON too
The CSV to JSON tab converts any CSV back to a JSON array using a proper RFC 4180 state-machine parser that handles quoted fields, commas inside values, and newlines inside quoted cells. Auto-converts numbers and booleans. Download as .json.
📊
Excel-safe UTF-8 BOM
Adds the UTF-8 BOM to downloaded CSV files. Without it, Excel on Windows mangles accented characters, Arabic, Chinese and any non-ASCII content. Toggle off for Linux tools or databases that do not need the BOM marker.
📂
File upload + paste + sample
Upload a .json or .csv file directly, paste raw data, or click Sample to load a realistic nested example demonstrating flattening. All processing is 100% in your browser — your data never leaves your device. Works offline after page load.
How to use

How to convert JSON to CSV

1
Paste or upload your JSON
Paste a JSON array of objects into the input box, or click Upload to select a .json file. Each object in the array becomes one CSV row. Wrap a single object in square brackets if needed. Click Sample to see a working nested example with address and skills fields.
2
Set delimiter and options
Pick your delimiter — comma for most uses, semicolon if the recipient opens files in European-locale Excel, tab for TSV. Leave Flatten nested checked to convert nested properties to dot-notation columns. Enable UTF-8 BOM if opening in Excel on Windows.
3
Click Convert to CSV
The CSV appears in the output box immediately. The live table preview shows the first 100 rows with sticky gradient headers. A stats bar shows total row and column count. A badge appears if nested objects were flattened. Check the column names are what you expect.
4
Copy or download
Click Copy to paste the CSV directly into Excel, Google Sheets or a text editor. Click Download .csv to save a file — with BOM enabled, Excel recognises UTF-8 encoding and displays accented characters correctly. The file is named data.csv.
5
Use CSV → JSON to go back
Switch to the CSV to JSON tab, paste or upload a CSV, set the correct delimiter and click Convert to JSON. Toggle Pretty-print off for compact single-line JSON. Auto-convert types produces proper JSON numbers and booleans instead of plain strings.
Why LazyTools

How this compares to other JSON to CSV converters

FeatureLazyToolsCSVJSONdata.pageKonklone
Nested JSON flatteningYes — any depthYes — optionalYesNo
Semicolon delimiterYesYesNoNo
Tab / TSV delimiterYesYesNoNo
UTF-8 BOM for ExcelYes — toggleableYesNoNo
Live table previewYes — 100 rowsNoNoNo
Bidirectional (CSV → JSON)Yes — same pageSeparate toolNoNo
100% client-sideYesNo — serverYesYes
Type coercion (CSV → JSON)Yes — numbers + boolNoNoNo
Quick reference

JSON to CSV conversion rules

JSON inputCSV outputNotes
{"name":"Alice"}name columnSimple key becomes column header
{"user":{"name":"Alice"}}user.name columnNested object flattened with dot
{"tags":["a","b","c"]}a;b;c in one cellArray of primitives joined
{"items":[{...}]}JSON string in cellArray of objects serialised
null value(empty cell)Null becomes empty string
true / falsetrue / falseBooleans written as text
Value with comma"value,here"Wrapped in quotes — RFC 4180
Value with quotessay ""hi""Quotes doubled inside quoted field
Value with newline"line1\nline2"Quoted, newline preserved
Complete guide

JSON to CSV — A Complete Guide for Developers and Data Analysts

JSON (JavaScript Object Notation) is the standard format for API responses, configuration files and data interchange in modern web development. CSV (Comma-Separated Values) is the standard for spreadsheets, database imports and data analysis tools. Converting between them is one of the most common data wrangling tasks any developer or analyst encounters — and one of the most error-prone when done with naive tools.

Why JSON to CSV is harder than it looks

A flat JSON array of simple objects converts trivially: each key becomes a column, each object becomes a row. The problems start with nested objects. Real API responses are almost never flat — user records contain address objects, order records contain line-item arrays, analytics events contain nested properties. A naive converter dumps the entire nested object as a raw JSON string in a single cell. Correct conversion requires recursively flattening nested structures into separate columns with meaningful names.

How dot-notation flattening works

The dot notation approach recurses through each JSON object, building column names by joining parent and child keys with a dot. An object like {"user":{"name":"Alice","address":{"city":"London"}}} produces columns user.name and user.address.city. This is predictable, reversible and widely understood by data tools. Arrays of simple values are joined with semicolons into a single cell rather than creating unpredictable numbers of new columns.

The semicolon delimiter — a critical European Excel requirement

In France, Germany, Spain, Italy and most of continental Europe, Microsoft Excel uses semicolons as the CSV field separator by default — because those locales use a comma as the decimal separator. A CSV exported with commas will appear as a single column in French Excel, requiring a manual Text to Columns import. Selecting the semicolon delimiter produces a file that opens correctly in European Excel without any additional steps. This is one of the most overlooked issues in cross-border data sharing.

UTF-8 BOM — why Excel needs it

Without a Byte Order Mark at the start of the file, Excel on Windows defaults to the system locale encoding. Any character outside ASCII becomes garbled. Adding the UTF-8 BOM signals correct encoding, and all characters display correctly. Most other tools — text editors, databases, Linux tools — ignore or correctly handle the BOM, so enabling it by default is the safer choice for Excel compatibility.

RFC 4180 — the CSV standard most parsers get wrong

RFC 4180 defines how CSV fields should be quoted. A field containing the delimiter must be wrapped in double quotes. Double quotes inside a field must be doubled. A field containing a newline must also be quoted — meaning a valid CSV row can span multiple text lines. Naive parsers that split on newlines then split on commas fail on all these cases. The CSV to JSON parser in this tool uses a character-by-character state machine that handles all edge cases correctly.

Frequently asked questions

Paste a JSON array into the input box, choose your delimiter and options, then click Convert to CSV. Results appear immediately with a live table preview. Download the CSV or copy to clipboard. Your JSON must be an array of objects — wrap a single object in square brackets if needed.
Flattening converts nested properties into column names using dots. {"user":{"name":"Alice"}} becomes a column called user.name with the value Alice. Toggle Flatten off to keep nested objects as raw JSON strings in one column instead.
Two common causes: (1) Wrong delimiter — if everything appears in one column, switch to Semicolon for European-locale Excel. (2) Encoding — make sure the UTF-8 BOM option is checked. Without it, Excel on Windows mangles accented and non-ASCII characters.
The input must be a JSON array of objects: [{...},{...}]. If you have a single object, wrap it in square brackets. If the array is nested inside a property like {"data":[...]}, extract the inner array first using the JSON Formatter tool.
No. All conversion runs entirely in your browser. Your JSON or CSV data never leaves your device. This makes the tool safe for sensitive API responses, internal database exports and confidential business data.
Yes — click the CSV to JSON tab. Paste your CSV or upload a .csv file, set the correct delimiter, and click Convert to JSON. Enable Auto-convert types to have numbers and true/false appear as proper JSON types rather than strings.
Arrays of simple values (strings, numbers) are joined with semicolons into a single CSV cell — ["a","b","c"] becomes a;b;c. Arrays of objects are serialised as a JSON string. To expand arrays into separate rows, pre-process the JSON to unwrap the array first.
All three are flat text formats with the same row structure, differing only in the field separator. CSV uses comma, TSV uses tab, semicolon files use semicolon. TSV is useful when data contains commas. Semicolon is standard in European Excel locales. Choose the delimiter that matches what the target system expects.
Related tools

More free web dev and data tools