What Is JSON and Why Convert It to CSV?
JSON (JavaScript Object Notation) is the dominant format for web APIs, NoSQL databases, and configuration files. While JSON is ideal for machines, tabular data in JSON is often harder to inspect, share with non-technical teammates, or import into spreadsheet applications. Converting a JSON array to CSV bridges the gap: analysts get an Excel-ready file, and developers keep the original JSON workflow.
A typical JSON array:
[
{"name": "Alice", "age": 30, "city": "Berlin"},
{"name": "Bob", "age": 25, "city": "Hamburg"}
]
Converts to CSV:
name,age,city
Alice,30,Berlin
Bob,25,Hamburg
What Is CSV?
CSV (Comma-Separated Values) is a plain-text tabular format. Each line represents one row, and values are separated by a delimiter character. It is the universal exchange format for spreadsheet applications like Microsoft Excel, Google Sheets, and LibreOffice Calc, as well as BI tools and data pipelines.
Delimiter Guide
| Delimiter | Symbol | When to use |
|---|---|---|
| Comma | , | Default for English-locale exports |
| Semicolon | ; | European Excel exports (decimal separator is , there) |
| Tab | \t | TSV files, copy-paste from spreadsheet cells |
If your resulting CSV looks wrong when opened in Excel, try switching from comma to semicolon.
Flattening Nested Objects
Real-world JSON often contains nested structures:
[{"user": {"name": "Alice", "role": "admin"}, "active": true}]
Without flattening, the user field becomes a JSON string in a single cell. With Flatten nested objects enabled, the converter expands nested keys using dot-notation:
user.name,user.role,active
Alice,admin,true
This is useful when preparing data for SQL imports, BI dashboards, or any target that expects flat tables.
Arrays and Non-String Values
CSV has no type system — every cell is a string. Numbers and booleans are serialized as-is (30, true). Arrays inside objects (e.g., {"tags":["a","b"]}) are serialized as a JSON string in a single cell and properly quoted to comply with RFC 4180.
Bidirectional: CSV → JSON
Switch the direction selector to CSV → JSON to reverse the process. The first row is interpreted as the header, and each subsequent row becomes a JSON object with string values. This is handy when you receive a CSV export and need JSON for an API or script.
Missing Keys and Sparse Arrays
When objects in the array have different keys, the tool collects the union of all keys as the header row. Rows that are missing a key get an empty string for that column. This matches the behavior most spreadsheet tools expect.
RFC 4180 Quoting
The tool follows the RFC 4180 CSV standard for output:
- Cells containing the delimiter, newlines, or double-quote characters are wrapped in double quotes
- Double-quote characters inside a cell are escaped by doubling them (
"→"") - The same quoting rules are applied when reading CSV back to JSON
Privacy
All processing runs in your browser. Your JSON and CSV data never reach any server, are never logged, and are never stored. You can use this tool entirely offline once the page has loaded.