JSON to table

Paste a JSON list of objects and see it as a table. Nested objects are flattened into columns, and you can copy the result as Markdown, CSV, HTML or cells to paste into a spreadsheet.

  • Free
  • No sign-up
  • Runs in your browser
json-to-table

Fill in the values above to see the result.

100% private — the calculation is done in your browser and nothing is sent to any server.

How it works

Paste the JSON

A list of objects, or a single object.

Check the table

Every key becomes a column. Nested keys are joined with a dot.

Copy it

Markdown for documentation, CSV or spreadsheet cells for Excel, HTML for a web page.

Read JSON as a table

An API response with fifty objects is hard to read as raw JSON, but it is easy to read as a table with one row per object and one column per field. That is what this tool shows. Beyond looking at it, a table is what you need to paste the data into a spreadsheet, a document or a page of documentation, and this tool gives you those formats ready to copy.

How the table is built

  • One row per object in the list. A single object gives a single row.
  • One column per key. If some objects have keys that others lack, the table gets all the columns and leaves empty cells.
  • Nested objects are flattened. {"address": {"city": "Boston"}} becomes a column called address.city. You can turn this off to keep each nested object as JSON text in one cell.
  • Lists inside objects. Simple lists of text or numbers can be joined with commas, spread over several columns, or kept as JSON text.

Copy it in the format you need

Markdown gives a table with pipes that works in GitHub, wikis and documentation, with the pipe characters inside cells escaped. CSV gives a comma-separated file with quotes where needed. Spreadsheet copies tab-separated values, which Excel and Google Sheets split into cells when you paste. HTML gives a table with head and body sections, with the text escaped.

Exactness

Numbers are kept as written, so a long identifier such as 12345678901234567890 is not rounded. Values true, false and null are shown as text, with null as an empty cell.

Limits

The preview shows the first 200 rows to keep the page fast, but the copies include every row. The tool works on JSON that is valid, and if there is an error it tells you the line and column. It does not sort or filter the rows. Nothing is uploaded. To get a CSV file in one step, use the JSON to CSV converter.

Frequently asked questions

How do I convert JSON to a table?
Paste a JSON list of objects. The table appears with a column for every key and a row for every object.
How are nested objects shown?
They are flattened into columns with dotted names such as address.city. You can turn that off to keep them as JSON text.
How do I paste the table into Excel?
Use the spreadsheet copy button and paste. The tab-separated values are split into cells.
Can I get a Markdown table?
Yes. Use the Markdown copy button. It works in GitHub, documentation and most wikis.
What if the objects have different keys?
The table has the union of all the keys as columns, with empty cells where an object lacks a key.
Is my JSON uploaded?
No. It is converted in your browser.