JSON to CSV Converter

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 Converter

From JSON array to spreadsheet in seconds

Paste your JSON array Drop any JSON array of objects into the input. Each object's keys automatically become CSV column headers.
Select CSV format Open the Convert tab and choose CSV. The conversion runs instantly — no submit button required.
Copy or download One-click copy sends the CSV to your clipboard. Open it directly in Excel, Google Sheets, or Numbers.
Also exports YAML & XML The same Convert tab handles YAML, XML, and TOML — switch formats without re-pasting your data.

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

JSON to YAML Convert JSON to clean, readable YAML configuration in one click.
JSON to SQL Generate SQL INSERT statements from a JSON array of records.
JSON Formatter Pretty-print JSON with syntax highlighting and a collapsible tree view.
JSON Validator Validate JSON syntax and get clear, pinpointed error messages.

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.

Convert JSON to CSV
Input
[
  {"name":"Alice","age":30,"city":"Portland"},
  {"name":"Bob","age":25,"city":"Seattle"},
  {"name":"Charlie","age":35,"city":"Denver"}
]
Output
name,age,city
Alice,30,Portland
Bob,25,Seattle
Charlie,35,Denver

Get the most out of this tool

Ready to convert your JSON to CSV?

Free forever. No signup. Works offline.

Convert JSON to CSV now

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

Exporting data for Excel When a backend API returns data as JSON but a stakeholder needs it in Excel, convert the JSON array to CSV and open it directly in Excel — no programming required on the recipient's side.
Database import preparation Most databases have CSV import tools but require custom code for JSON. Convert your JSON data to CSV first, then use the database's built-in import wizard to load it into a table.
Data analysis with pandas Python pandas can read CSV directly with pd.read_csv(). Converting a JSON API export to CSV is often faster than writing a JSON normalization script to handle nested structures.
Sharing structured data with non-engineers Business analysts, product managers, and designers can open CSV files in Google Sheets immediately. JSON requires a developer or a JSON viewer tool — CSV removes the technical barrier.

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.