Convert JSON to CSV
online, free & instant
Paste a JSON array of objects and get a clean, spreadsheet-ready CSV in one click. Works entirely in your browser — no upload, no account, no waiting.
Open JSON to CSV ConverterFrom JSON array to spreadsheet in seconds
No account. No upload. No nonsense.
100% Private
Your JSON never leaves your device. There is no server receiving your data.
Instant Output
Conversion happens as you type. No round-trips to a backend, no latency.
Spreadsheet Ready
Output follows RFC 4180 CSV — compatible with every major spreadsheet app.
Related JSON tools
Common questions answered
Is the JSON to CSV converter free?
Yes, completely free with no account or signup required.
What JSON structure works best for CSV conversion?
An array of objects with consistent keys produces the best CSV output. Each key becomes a column header and each object becomes a row.
Is my data sent to a server?
No. All conversion runs entirely in your browser using JavaScript. Your JSON is never uploaded or transmitted.
Can I open the CSV output in Excel or Google Sheets?
Yes. The output uses standard comma-separated values with quoted fields where necessary, making it directly importable into Excel, Google Sheets, or any spreadsheet tool.
What happens if my JSON has nested objects?
Nested objects are serialized as JSON strings inside the CSV cell, preserving the data while keeping the row flat and spreadsheet-compatible.
What is CSV?
CSV (Comma-Separated Values) is a plain-text tabular format where each row is a line and columns are separated by commas. It is the universal exchange format for spreadsheet applications (Excel, Google Sheets), databases, and data analysis tools. CSV files are simple, lightweight, and supported by virtually every data tool in existence.
Converting JSON to CSV requires flattening the structure into rows and columns. This tool handles arrays of objects naturally: each object becomes a row, and each key becomes a column header. Nested objects are flattened using dot notation. Values with commas or quotes are properly escaped following RFC 4180.
[
{"name":"Alice","age":30,"city":"Portland"},
{"name":"Bob","age":25,"city":"Seattle"},
{"name":"Charlie","age":35,"city":"Denver"}
]
name,age,city Alice,30,Portland Bob,25,Seattle Charlie,35,Denver
Get the most out of this tool
- JSON arrays of objects with consistent keys produce the cleanest CSV — missing keys become empty cells.
- Nested objects flatten with dot notation: {"address":{"city":"Portland"}} becomes column "address.city".
- Open CSV output in Excel or Google Sheets to quickly create pivot tables and charts from your JSON data.
JSON to CSV conversion in depth
CSV (Comma-Separated Values) is the universal format for tabular data exchange. Every spreadsheet application (Excel, Google Sheets, LibreOffice Calc), every database import wizard, and every data analytics tool reads CSV. JSON, while excellent for hierarchical data, requires programmatic libraries to process. Converting JSON to CSV makes data immediately accessible to non-programmers, business analysts, and any tool that handles spreadsheets.
JSON-to-CSV conversion works best when the JSON is an array of objects where each object has the same set of keys. This maps directly to CSV structure: the keys become column headers in the first row, and each object becomes a data row. The converter extracts all unique keys from the entire array (not just the first element) to handle datasets where some records have optional fields, filling missing cells with empty values.
Nested JSON objects present the main challenge in CSV conversion. CSV is inherently flat — there is no concept of nesting. The converter handles nested objects by using dot notation for column names: a JSON field address.city becomes a CSV column header address.city. This preserves the nested field values while keeping the output in a format spreadsheet tools can read, though users must understand the dot notation convention.
String values in CSV that contain commas, double quotes, or newlines must be wrapped in double quotes and have internal double quotes escaped as two double quotes (""). For example, a value like He said "hello" becomes "He said ""hello""" in CSV. The converter handles all these edge cases according to RFC 4180, the CSV specification, ensuring the output imports correctly into Excel and Google Sheets.
Array values within JSON records are another conversion challenge. A JSON field tags: ["javascript", "typescript"] has no single-cell equivalent in CSV. The converter joins array elements with a semicolon by default, producing a single cell containing "javascript;typescript". This is a common convention but means array data requires post-processing if you need individual values in separate cells.
For data analysis, CSV is often preferred over JSON because tabular tools (pandas in Python, R data frames, SQL databases) natively read CSV. Converting API responses to CSV allows analysts to work with data in familiar tools without writing JSON parsing code. Many data pipelines use JSON as the interchange format between services and CSV as the format for analyst-facing reports and dashboards.
When developers use this tool
Additional frequently asked questions
What happens to JSON fields that are objects or arrays in the CSV output?
Nested objects are flattened using dot notation for column names (e.g., address.city). Nested arrays are serialized as a semicolon-delimited string within a single cell. For deeply nested structures, consider flattening the JSON first using the JSON Flatten tool before converting to CSV.
Does the converter handle different delimiters (semicolons, tabs)?
The default output uses commas as the delimiter per the CSV standard. For European locales where commas are used as decimal separators, semicolon-delimited CSV (also called DSV) is sometimes preferred. You can replace commas with your preferred delimiter in the output — since values containing the delimiter are properly quoted, this is safe to do with a simple find-and-replace.
My JSON array has records with different fields. What happens?
The converter scans all records to collect the complete set of unique keys before generating headers. Records that are missing a particular field produce an empty cell for that column. Records that have a key not present in other records cause a new column to be added to capture their value.
Can I convert a single JSON object (not an array) to CSV?
A single JSON object can be converted to a two-column CSV with key and value columns. This is less common but useful for configuration objects where you want a spreadsheet with one row per setting. The converter handles this case by detecting the input shape and generating the appropriate structure.