What this does
Converts a JSON array of objects into tab-separated values: one header row of keys, then one row per object. TSV pastes straight into Excel, Google Sheets, and Numbers, and avoids the comma-quoting headaches of CSV.
Example
Input
[
{
"id": 1,
"name": "Ada",
"city": "London",
"score": 9.5
},
{
"id": 2,
"name": "Grace",
"city": "New York",
"score": 8
}
]Output with default options
id name city score
1 Ada London 9.5
2 Grace New York 8
How the table is built
- Columns are the union of keys across all objects, in first-seen order. An object missing a key gets an empty cell.
- Nested objects and arrays are flattened into columns such as
address.cityandtags[0], or you can keep them as JSON text in a single cell. - Arrays of arrays become rows with
column1,column2, ... headers; an array of plain values becomes a singlevaluecolumn; a single object becomes one row. - Mixed arrays, empty arrays, and scalar roots are reported as errors instead of guessing.
nullbecomes an empty cell.
Tabs and newlines in values
A cell containing a tab or newline would break the row. By default such cells are wrapped in double quotes (with inner quotes doubled), which spreadsheets understand on paste. The other choice writes \t, \n, and \r as escape sequences; those are not decoded by spreadsheets, so use it only for programs that expect that convention.
Privacy
The conversion runs in your browser. The JSON is never uploaded.