How to use JSON to Table
- Paste your data into JSON. An array of objects works best; a single object becomes one row.
- Check the counts at the top: Rows and Columns.
- Read the data in the Table section, or scroll the styled Preview below it.
- Press Copy to paste into a spreadsheet, or CSV to download
data.csv.
If the JSON does not parse, the tool shows the line and column where it stopped.
What it does and when to use it
API responses, database exports and log records often arrive as an array of objects. Reading them as JSON means scrolling past the same keys again and again. As a table, you can compare values down a column, spot a record with a missing field, or see at a glance that one price is a string while the others are numbers.
Use it to check a response before you write code against it, to show data to someone who does not read JSON, or to move a small dataset into a spreadsheet. For a table you can paste into a README or pull request, use JSON to Markdown table. For a converter with delimiter and header options, try JSON to CSV. If your records are nested, run them through the JSON flattener first.
How it works
The text is parsed in your browser. If the root is an array, each item becomes a row; if it is a single object, that object is the only row. Columns are collected from every object in first-seen order, so a key that appears only in the tenth item still gets a column. When every item is a plain value (numbers, strings, null), the tool builds one column called value.
Cells hold the value as text: strings as they are, numbers and booleans as written, null as null, and objects or arrays as compact JSON. In the preview, numeric cells are right-aligned. Nothing is uploaded.
Worked examples
Two products with different fields:
[{"sku":"A1","qty":3,"tags":["new"]},{"sku":"B2","price":9.5}]
Rows: 2 Columns: 4
sku | qty | tags | price
A1 | 3 | ["new"] |
B2 | | | 9.5
price gets a column even though only the second item has it, and the cells each item lacks stay empty.
An array of plain values, [1, "two", null], becomes a single value column with three rows: 1, two and null.
Limits and tips
- Only the top level is spread into columns. Nested values stay as JSON text in one cell.
- If the root object wraps the array (for example
{"data": [...]}), the whole object becomes one row. Paste just the array, or extract it with the JSONPath tester. - Column order follows the data, not the alphabet. Sort keys first with the JSON key sorter if you need a fixed order.
Frequently asked questions
What happens when objects have different keys?
How are nested objects and arrays shown?
Can I sort or filter the table?
Is there a row limit?
What does Copy put on my clipboard?
How do we know nothing is uploaded? Test it yourself on the privacy proof page.