Skip to main content
Screendesk
Free tool

JSON to CSV Converter

Convert JSON to CSV and CSV to JSON, with nested objects flattened into columns and proper CSV quoting. Everything runs in your browser.

Open source on GitHub

JSON input

CSV output

CSV appears here as you paste JSON.

Runs entirely in your browser. Nothing you paste here is uploaded or stored.

Nested JSON

How nested JSON becomes columns. Every path to a value becomes one CSV column.

How JSON structures map to CSV columns
JSON shapeExampleCSV result
Nested object{"user": {"name": "Ada"}}user.name → Ada
Array of values{"tags": ["billing", "safari"]}tags.0 → billing, tags.1 → safari
Array of objects{"items": [{"sku": "KB-01"}]}items.0.sku → KB-01
Missing key[{"a": 1}, {"b": 2}]Columns a and b; each row leaves the other cell empty
Empty object or array{"meta": {}, "tags": []}meta → {} and tags → [] so the column is kept
null{"closed_at": null}closed_at → empty cell
Wrapped array{"data": [{...}, {...}]}The first array of objects becomes the rows
Reference

CSV format rules. What RFC 4180 says, and what spreadsheets expect.

CSV format rules from RFC 4180
RuleDetails
DelimiterFields are separated by a comma. Many European spreadsheets use a semicolon because the comma is the decimal separator.
QuotingA field containing the delimiter, a double quote, or a line break must be wrapped in double quotes: "Paris, France".
Escaped quotesA double quote inside a quoted field is written twice: "She said ""hi""" reads as She said "hi".
Line breaksRows end with CRLF in the spec; LF and CR alone are accepted too. Quoted fields may contain line breaks.
HeaderThe first row may name the columns. Every row should have the same number of fields.
EncodingUse UTF-8. Downloads here include a byte-order mark so Excel opens accented characters correctly.
FAQ

Frequently asked questions

How do I convert JSON to CSV?

Paste a JSON array of objects (or open a .json file) with JSON → CSV selected. Each object becomes a row and each key becomes a column. Nested objects and arrays are flattened into dot-path columns such as customer.name or tags.0. Choose comma, semicolon, or tab, then copy the result or download a .csv file.

How do I convert CSV to JSON?

Switch to CSV → JSON and paste your CSV or open a file. The delimiter is detected automatically. With "First row is header" on, each row becomes an object keyed by the header; turn it off to get an array of arrays. "Detect numbers & booleans" turns 42 and true into JSON numbers and booleans, while values such as 00123 and very long IDs stay strings so nothing is lost.

Can I turn dot-path columns back into nested JSON?

Yes. In CSV → JSON, turn on "Nest dot-path columns". A header such as user.name becomes {"user": {"name": ...}}, and columns like tags.0 and tags.1 become an array. This reverses the flattening done by JSON → CSV.

Why does my CSV open in one column in Excel?

Excel uses your system’s list separator. In regions where the comma is the decimal separator, it expects semicolons. Pick Semicolon as the delimiter before downloading, or use Data → From Text/CSV in Excel and choose the delimiter yourself.

Is my data uploaded?

No. Parsing and conversion run in your browser with JavaScript, and downloads are generated locally. Nothing is sent to a server, so you can convert exports that contain customer data.

Customer support runs on Screendesk.

Start for free