Free tool · JSON to HTML table
Free JSON to table converter
Paste JSON or drop a .json file and see it as a table you can sort and search, nested keys as columns. Copy the HTML, download CSV, or send it as a link. Nothing is uploaded.
| 101 | Acme Studio | Team | 490 | true | Berlin | DE | design, retainer | ||
| 102 | Northwind Traders | Solo | 15 | true | Leeds | GB | wholesale | ||
| 103 | Blue Harbor Dental | Free | 0 | false | Halifax | CA | |||
| 104 | Kestrel Labs | Team | 490 | true | Austin | US | saas, pilot | [2 items] | |
| 105 | Studio Verde | Solo | 15 | true | Lisbon | PT | agency | null |
The page holds every row that matches your search, in the order shown, and sorts by column on its own. Published free with no signup, it is live for 7 days; sign up free to keep it. A published page is public to anyone with the link and noindex.
How it works
Convert JSON to a table online in three steps
Paste or drop the JSON
Paste JSON into the box, or drop a .json file. Try a sample loads a small API response if you want to see it first. Invalid JSON shows the line and column of the first error.
Pick the list to show
The converter finds every array in the JSON and starts with the largest list of objects, such as data.items. Choose another one, or the top-level object as a key and value table.
Copy, download or publish
Copy the HTML table markup, download it as a page or as CSV, or publish it as a page you can send as a link. All of them keep your search and sort order.
What it reads
JSON to HTML table, nested data included
Nested objects become columns
An address object inside each record becomes address.city and address.country, at any depth. Every key from every record gets a column, in the order it first appears.
Arrays stay readable
A list of tags is written as "design, retainer" in one cell. A list of objects, like the contacts on a customer, shows as [2 items], or as its JSON text if you switch the option.
Gaps and nulls stay honest
A key a record does not have is a blank cell; a value that is null says null. Numbers sort as numbers, text sorts naturally, and every cell is escaped in the HTML.
The next step
Send the table as a link, not the JSON
Noindex by default
Published pages tell search engines to stay away, so a table built from an API response won’t surface on Google the way most free hosts’ public pages can.
Password protection
On Solo and Team, lock pages that hold customer data with an encrypted password we can’t read, enforced before the page ever loads.
View tracking
A pasted JSON blob in a chat goes quiet. A page counts every view, and Solo and Team add unique viewers, country and time on page.
More free tools
Other viewers and converters
JSON viewer
Format, validate and explore JSON as a collapsible tree, with errors shown by line and column.
Open the JSON viewer →CSV viewer
Open the CSV you downloaded here, or any CSV or TSV file, as a table you can sort and search.
Open the CSV viewer →CSV to PDF
Turn the CSV into a clean PDF table with the headings on every page, A4 or Letter, in your browser.
Convert CSV to PDF →JSON to table FAQ
Paste the JSON or drop a .json file into the converter above. It finds the list of records, turns each record into a row and each key into a column, and shows the table right away. Press Copy HTML for the table markup, or Download HTML for a complete page that sorts on its own. It is free and needs no signup.
Nested objects are flattened into dotted column names, so address.city and address.country each get their own column. Arrays of plain values are joined with a comma in one cell. Arrays of objects show as a count like [3 items], or as their JSON text if you choose JSON text under Arrays of objects.
Yes. Download CSV saves the same table as a CSV file with the column names on the first line and proper quoting, so commas, quotes and line breaks inside a value stay in one cell. It opens in Excel, Numbers and Google Sheets.
The converter lists every array it finds by its path, such as data.items or orders[0].lines, and starts with the largest list of objects. Pick any other one to show it instead. A single object with no list in it becomes a two-column table of keys and values.
Nothing is uploaded while you convert, search or sort: the JSON is read inside this tab. It only leaves your device if you press Publish, which turns the table into a page with its own link. That page is noindex by default and counts its views, with passwords and full view tracking on Solo and Team.