Paste JSON and read it as a table. Nested objects become columns, API wrappers are unwrapped, and nothing is uploaded.
Nested objects become columns. Runs in your browser — nothing is uploaded.
Converted — share it as a page.
Publish this as a live page in one click. No account to start.
JSON is easy for a program to read and hard for a person to scan. Forty records of an API response is a wall of braces; the same forty records as rows and columns can be checked in a glance. Paste the JSON here and it is laid out as a table as you type.
Real JSON is rarely a neat list of flat records, so the converter handles the two shapes that make other tools give up. When each record contains an object — an address with a city inside — the nested keys become their own columns, named address.city the way spreadsheets and data tools name them. When the records sit inside a wrapper like {"data": [...], "meta": {...}}, the converter finds the list of records, builds the table from it, and says which key it used. The conversion runs in your browser, so a production export with real customer rows never leaves your machine.
Paste your JSON above or upload a .json file. Half-typed JSON does not blank the pane; it shows what the parser objected to.
The table appears on the right. Columns are every key that appears in any record, in the order they first appear, and a record missing a field gets an empty cell rather than a shifted row.
Switch to Source to copy the table as Markdown for a README, an issue or a doc, download it, or publish it to get a link that shows the table to someone who would never open a .json file.
A support lead exports the week’s escalations from the help-desk API to bring to a review meeting. The response is {"tickets": [...], "next_page": null}, and every ticket carries a requester object with name and plan inside it.
Pasted into most JSON viewers, that is a tree to click open one ticket at a time. Pasted here, the table comes from tickets — the converter says so above it — with requester.name and requester.plan as ordinary columns next to status and created_at. The lead sorts out which escalations came from paying customers by reading one column, publishes the table, and drops the link in the meeting invite. Nobody in the meeting has to read JSON.
This page and the JSON to Markdown converter share a parser but not a goal. That one keeps nested data nested; this one flattens it, because a table is what you asked for.
A list of flat records
The easy case. Both produce the same table.
Records with an object inside
Here the nested keys become dotted columns such as “address.city”. JSON to Markdown switches the whole output to an indented list instead.
Records inside a wrapper (“data”, “items”, “results”)
Here the largest list of records within two levels becomes the table, and the key is named above it. JSON to Markdown keeps the wrapper and tables the list in place.
A single object
Shown as a two-column field / value table, with nested keys flattened.
Lists inside a record
A list of plain values joins into one cell (“admin, beta”). A list of objects stays as compact JSON in its cell, visible rather than dropped: turning it into columns would multiply the rows.
Nested objects are flattened into columns with dotted names: {"address": {"city": "Leeds"}} becomes a column called address.city. That goes four levels deep, which covers almost every API response. A list of plain values inside a record is joined with commas in one cell; a list of objects stays as compact JSON in its cell, because turning it into columns would mean one row per item and the table would stop matching your records.
Yes. Most APIs wrap their results — {"data": [...]}, {"items": [...], "total": 120}, {"response": {"results": [...]}}. The converter looks up to two levels inside the object, takes the longest list of records it finds, and writes the key it used above the table, so the choice is never silent. If there is no list at all, a single object is shown as a field / value table.
Copy the table from the Source view and paste it into the Markdown to Excel converter to download an .xlsx, or publish it and share the link if the people who need it only need to read it. If your data started as CSV rather than JSON, CSV to Markdown is the shorter path.
They are kept. null is written as null, and false and 0 appear as themselves. A field that is missing from a record leaves an empty cell instead. In an export those are different facts — "this value is empty" versus "this record has no such field" — and a table that blurred them would hide the thing you are usually checking.
No. Parsing and conversion both happen in your browser; nothing is sent or stored. It only leaves your machine if you press Publish, which hosts the table at a link on purpose.
Links gratuitos duram 7 dias com uma conta gratuita. Em um plano pago, cada página que você publica fica online permanentemente.
Ver preços