How do you convert JSON to a table?
An API response lands in front of you as a wall of brackets, and somewhere in there is the one record you need. Paste it here instead of squinting. An array of objects maps directly onto a table, each object becomes a row, each key becomes a column, so the converter parses your JSON, collects the keys as headers, and lines the values up underneath. A single object works too; it renders as one row. And if the JSON won't parse, you get an error that names the problem, not a half-drawn table.
The parser holds you to real JSON. Keys and strings need double quotes. Trailing commas are illegal, and so are comments, which is why data copied out of JavaScript source often fails even though it looks right on screen. Objects in the same array don't have to share every key; where one is missing, that cell renders empty. Nested objects and arrays don't flatten into extra columns either. They show up as JSON text inside their cell.
When the table turns out to be worth keeping, the same JSON can live as rows in a Ferra table, where each key becomes a real column you can sort and filter, and the data stays put for whatever you build next.
How the JSON to Table Converter works
The converter asks for exactly one thing: the JSON itself. Paste an array of objects for a multi-row table or a single object for one row, and it draws one column per key and one row per object as soon as the input parses. When it doesn't parse, the message points at what's wrong instead of leaving you a half-rendered grid.
- JSON
- The raw JSON itself: an array of objects for multiple rows, one object for a single row. It has to be valid JSON: double-quoted keys and strings, no trailing commas.
Reading the table
Feed it [{"name":"Ada","role":"Engineer"},{"name":"Grace","role":"Analyst"}] and the converter finds two objects sharing the keys name and role. Out comes a table with two columns headed name and role, a first row of Ada and Engineer, a second of Grace and Analyst. Every value lands under the column for its key, in the order the objects appear.
Most refusals come down to input that looks like JSON but isn't. A trailing comma after the last object or single quotes where doubles belong, both legal in JavaScript source, both invalid JSON, get rejected with an error, and an unquoted key fails the same way. The converter never guesses at intent. Fix the syntax, paste again.
When to use the JSON to Table Converter
The usual trigger is a wall of brackets you need to read right now: an API response, usually, though exports and log lines create the same problem. Paste it and the records line up as rows: the odd one out becomes visible, and comparing a field across records stops being archaeology. You confirm the shape an integration is returning without writing any code.
It also earns a spot in handoffs. Before you forward a JSON export to a teammate who lives in spreadsheets, run it through the converter and check that the keys are consistent and the values look sane. Ten seconds of rows and columns catches problems raw JSON keeps invisible.
Tips for the JSON to Table Converter
A clean paste makes a clean table. These habits cover what usually goes wrong.
- Paste the array, not the wrapper
- APIs love envelopes, {"data": [..]} with the good stuff inside. Paste just the array; otherwise you get one giant single-row table instead of one row per record.
- Read the error before debugging the data
- A wrong-looking table is usually a syntax problem, a stray comma, single quotes, not the converter misreading you. The error message says which.
- Empty cells are information
- Objects with different keys are legal JSON. A missing key renders as an empty cell, which is often exactly the inconsistency you were hunting.
- Nested data stays nested
- Objects and arrays inside a record render as JSON text in their cell, not as extra columns. Flatten the structure before pasting if you need them broken out.
- Sample big files
- For a huge export, paste the first few records rather than the whole thing. The structure is usually consistent throughout, and the page stays fast.







