Paste your JSON. It’s turned into CSV as you type, on your device.
0 characters · 0 lines
Delimiter
Arrays
More options
Adds ' before values starting with = + - or @, so spreadsheets don't run them.
Result
Your result will appear here.
0 characters · 0 lines
What it does
JSON from an API or a database export becomes CSV you can open in a spreadsheet:
Objects become rows: each object in the array is a row, and every value gets a column named by its path, such as shipping.address.city.
Values stay exact: numbers are written digit for digit as in the JSON, text keeps every character apart from the ' that Protect against formulas adds, and null or a missing value leaves the cell empty.
Arrays: Keep as JSON text puts an array in one cell as compact JSON. One column per item gives each item its own column, numbered from 0.
Delimiter puts commas, semicolons or tabs between values. A value that holds the delimiter, a double quote or a line break is put in double quotes.
Protect against formulas, under More options and on to start with, puts ' before text that a spreadsheet would run as a formula.
How to use it
Paste or type JSON into “Your text”. Select “Try a sample” to see two orders.
Check the options. The result updates as you type, with its rows and columns above it.
Select Copy to put the CSV on your clipboard, or Download CSV to save it as a .csv file.
Good to know
The limit is 2,000,000 characters of JSON at a time, 10,000 columns and a result of up to 10,000,000 characters.
The JSON must be strict: no comments, no trailing commas and double quotes only. If it isn’t, the message names the line and column of the first mistake. Nesting can go 1,000 levels deep.
Each row ends with a Unix (LF) line break, and the file has no byte order mark.
Privacy
Your JSON is processed on your device: converting runs in your browser, and nothing you paste is uploaded.
Advertisements
Frequently asked questions
Which JSON shapes work?
An array of objects gives one row per object, under a header row of their names. An array of arrays gives its rows as they are, with no header row. An array of plain values gives a single `value` column. An object with exactly one property that holds an array of objects or of arrays, like an API's `results`, is converted from that array, and the Rows from line names it. Any other object becomes one row. A single number, string, true/false or null can't be a table.
What happens to nested objects and arrays?
A nested object becomes one column per value, named by its path, such as `shipping.address.city`. Columns appear in the order their names first appear, and an object that lacks one leaves that cell empty, as `null` does. With Arrays on Keep as JSON text, an array stays in one cell as compact JSON, such as `[1,2]`. With One column per item, each item gets its own column, such as `items.0.sku` and `items.1.sku`.
What does Protect against formulas do?
A spreadsheet treats a cell that starts with `=`, `+`, `-` or `@` as a formula, so a value from someone else's data could run one when the file is opened. With the option on, which it is unless you turn it off under More options, a text value that starts with one of those, a tab or a carriage return gets a `'` in front of it, so it shows as text. Numbers such as `-5` are never changed, but the text `"-5"` is.
How do I open the CSV in Excel?
Select Download CSV and open the file. Where the comma is the decimal separator, as in Germany or France, choose Semicolon first so each value gets its own column. The file is UTF-8 without a byte order mark, so if accented letters look wrong, import it with Excel's From Text/CSV and pick UTF-8. `true` and `false` are written as `TRUE` and `FALSE`, as spreadsheets write them.
Is my JSON uploaded?
No. Converting runs in your browser, on your device, and nothing you paste is uploaded.