Developer tools
JSON to Table
Turn JSON records into a readable table.
Keep the details. See every field. Export when you’re ready.
Processed in your browser
Paste JSON, or open a UTF-8 file.
Enable JavaScript to build a table.
From JSON to rows
Array items become rows
Each top-level array item gets a row. A single object or scalar gets one row. An empty array has no rows.
Keys become columns
All object keys are included in first-seen order. Mixed arrays use a separate (whole value) column for non-object items.
Nested values stay JSON
Objects and arrays remain in their cells. Nothing is flattened. Numbers keep their original digits and exponent text.
Missing stays visible
The preview uses JSON notation:
""is an empty string,nullis null, and missing means no field.
Table result
No table yet
Scroll within the table to see more columns. With the table focused, use the arrow keys.
Every row and column is included in exports.
How it works
- Add your JSON
Paste a JSON value or open a UTF-8 file. Load the example to try mixed fields and nested data.
- Build and inspect
Build the table and move through rows and columns. Edit and rebuild whenever you need.
- Copy or download
Copy CSV or download CSV or HTML. Every row and column is included, even empty object rows.
Mapping and exports
The preview and HTML show each value as JSON text, including quotes around strings. Object-key headers use JSON quotes; the unquoted (whole value) header identifies non-object rows. A Row column is added for reference in both exports, so empty object rows are retained.
CSV decodes strings to ordinary text, leaves missing fields empty, writes null as null, and retains nested JSON. CSV has no JSON type information: missing and empty strings become the same cell; null and the string “null” also look alike. Use HTML for visible type distinctions. Headers keep JSON quotes around object keys.
Numbers and spreadsheet safety
Number text such as 9007199254740993, -0 and 1e999 is preserved in the table and exported bytes. A spreadsheet may still round numbers or convert dates when opening CSV. Import columns as text to retain those values.
Spreadsheet-safe CSV is on by default. Cells starting with formula-like =, +, - or @ after whitespace, or with a tab or line break, gain a leading apostrophe. This also changes negative-number cells. The result reports how many cells changed. Disable it for unchanged cell text; spreadsheet behavior varies.
Frequently asked questions
What JSON can I convert?
Objects, arrays and scalar values are supported. An array of arrays has one whole-value column, preserving each inner array. A nested array inside an object stays in its field; to make its items rows, paste that array as the top-level input. Comments, trailing commas and duplicate object keys produce an error.
Is anything truncated?
The preview shows 25 rows and 8 data columns at a time. Use the navigation to reach all remaining values. Exports contain all rows and columns. There is no configured input-size cap; browser memory, string limits and nesting depth can still cause failure. Cancel stops processing.
Are my values treated as HTML?
No. Preview values use text elements. The HTML export escapes markup and includes no scripts, links, images or remote resources. Text such as an image tag stays visible text.
What happens to encoding and whitespace?
Files must be UTF-8; a file’s initial UTF-8 BOM is ignored. Pasted line endings follow the browser’s LF convention. Nested JSON keeps its source whitespace. Unpaired Unicode surrogates are written as visible Unicode escapes so UTF-8 does not silently replace them. CSV uses quoted fields, doubled quotes and CRLF record endings.
Where does processing happen?
Parsing, mapping and exports run in your browser. Input is not uploaded, logged or stored. Reset releases input, table and download links; it does not delete a downloaded file or clear your clipboard.
Will my values stay unchanged?
The tool accepts strict JSON and preserves the original text of numbers and nested values. It does not evaluate code or round numbers in the output.