JSON to table, nested fields included

Drop a JSON file and get a table: one row per object, one column per field, nested objects flattened. Sort, filter and export to CSV without writing a script.

Drop a file to explore it
JSON or JSONL, up to 1.5 GB. It opens in your browser and stays there until you share it.

No file handy? Open Every country, as nested JSON (250 rows, 1.4 MB).

Arrays, envelopes and nesting

An array of objects loads straight in. If the array sits inside an envelope like {"data": [...]}, it gets unwrapped and the path is shown, so API responses work as they are.

Nested objects flatten into dot-path columns like customer.address.country, and arrays stay lists inside their cell.

JSON to CSV in one step

Export the table as CSV, Parquet, JSON, JSONL or Markdown. Filter rows or hide columns first and the export follows the current view. CSV output is formula-safe for Excel.

Find things fast

Every column header shows its distribution, so outliers and empty fields stand out. Type status:failed, cost:>0.5 or -env:test to filter, or a query starting with SELECT to run SQL against the table data.

From a script

Producing JSON in a pipeline? curl -T output.json https://rows.page returns a link to the same table, and pushing again shows what changed.

Questions

How do I convert JSON to CSV?
Drop the file, filter if you only want some rows, then Export and pick CSV. Nested fields come out as dot-path columns.
Is my JSON uploaded?
No. Opening a file reads it inside your browser tab. It only leaves your machine if you share it or push it with curl.
My JSON is an object with the array inside. Does that work?
Yes. A top-level object holding one big array of objects, like {"results": [...]}, is unwrapped automatically.
What about JSON Lines?
Works too: one object per line becomes one row per line.
How big can the file be?
About 1.5 GB of data per tab, which is millions of objects for most files.

Open other formats

Pushing data from a script or agent? Read the docs.