JSON to CSV conversion maps a table-shaped JSON value onto comma-separated rows, and maps a header-plus-rows CSV file back to an array of objects. It does not flatten arbitrary nested JSON into a universal spreadsheet. JSON is a tree. CSV is a grid. Those shapes only overlap when each record is a row and each field is a column.
This JSON to CSV tool accepts three JSON shapes on the way to CSV: an array of objects (the usual API list), a single object (one data row), or an array of arrays (rows without names — columns are labeled col1, col2, …). Anything else is refused with a reason. A JSON string, number, boolean, or null is not a table. A mixed array of objects and numbers is not a table.
Nested objects and arrays are the honest limitation. They are not exploded into dotted column names. They are written as compact JSON text inside the cell, and the status tells you how many nested values were stored that way. Spreadsheet programs will show that cell as text, not as extra columns. If you need a truly flat export, reshape the JSON in your application first, then convert.
CSV to JSON keeps every cell as a string. 2 stays "2", not a JSON number. Zip codes and leading zeros survive. If you need typed numbers, convert them in your own code after you see the array. Quotes and commas inside fields follow CSV quoting (a field with a comma is wrapped in quotes; a quote is doubled).
Supported input:
[
{ "sku": "A1", "qty": 2, "name": "Ada" },
{ "sku": "B2", "qty": 1, "name": "Tom" }
]
JSON to CSV writes a header sku,qty,name and two data rows. CSV to JSON on that output returns an array of two objects whose values are strings.
Nested input is still converted, with a warning:
[ { "sku": "A1", "meta": { "ok": true } } ]
The meta column contains {"ok":true} as text. That is not a flat table. Use the JSON Viewer first if you are not sure whether a payload is a list of flat records.
If parse fails, use the JSON Validator. If the JSON is valid but you cannot see whether it is an array of objects, view the tree, then convert. Format is optional; conversion uses the parsed value, not the whitespace.
If the API wraps rows in {"data":[...]}, convert the inner array, not the envelope. This page will otherwise make data a single nested JSON cell.
The table-versus-tree tradeoff is JSON vs CSV.
Conversion runs in this browser. The file is not uploaded to YallaSolve. Download CSV saves a local file from the output box. Treat customer tables like any other paste: clear the tab when you are done.
Best input is an array of flat objects, or CSV with a header row. Nested objects and arrays are stored as JSON text inside a cell — they do not become extra columns.
No. Nested objects and arrays are stored as JSON text in a cell. The status reports how many nested values were written that way.
An array of objects, one object, or an array of arrays. Wrapped envelopes like {"data":[...]} should convert the inner array only.
No. Cells stay strings so leading zeros are not lost. Type values in your own code if you need numbers.
Yes, after JSON to CSV succeeds. Download is local from the output box. CSV to JSON is copy-only.