Skip to content

JSON to CSV Converter: Flatten JSON to a Table

Convert JSON to CSV in your browser: drop or paste a JSON array of objects and it opens in the CSV viewer with one row per object. Nested objects become columns such as address.city, and lists become items.0, items.1. Edit, filter and download it there. Nothing is uploaded.

  • JSONView and edit.json

You can also paste JSON with Ctrl+V (⌘+V on a Mac).

Your file is opened in this browser tab only: it is never uploaded or stored anywhere, and it is gone when you close the tab.

How it works: convert JSON to CSV

  1. Open or paste your JSON

    Drop a .json file, choose it, or press Ctrl+V to paste JSON. It should be an array of objects, or a single object.

  2. It opens as a table

    Each object becomes a row in the CSV viewer. Nested objects are flattened with dots (address.city) and lists with their position (items.0.name).

  3. Filter and edit it

    Search, sort, filter and edit the rows in the CSV viewer before you save.

  4. Download

    Download saves a .csv file with the JSON file's name. For a semicolon, tab or pipe, choose Download options in the More menu.

What the JSON to CSV converter handles

  • Input: a JSON array of objects, or one object, from a .json file or pasted text, up to 10 MB.
  • Nested data: objects flattened into dot-notation columns such as address.city; lists into items.0, items.1.
  • Columns: every key that appears in any object, in the order they first appear; missing values are left empty.
  • Long numbers: integers beyond 2^53 are written digit for digit, not rounded.
  • Delimiters: a comma, with the byte order mark Excel needs when there is non-Latin text; a semicolon, tab or pipe from Download options.

JSON to CSV: questions and answers

How are nested objects turned into columns?
Each nested key is joined to its parent with a dot. {"address": {"city": "Riyadh"}} becomes a column named address.city holding Riyadh.
What happens to arrays inside the objects?
Each item gets its position in the column name: tags.0, tags.1, or items.0.name for a list of objects. An empty list is written as [].
What JSON shapes can be converted?
An array of objects, which gives one row per object, or a single object, which gives one row. A list of plain values or a number on its own is not a table, so the page says so.
My objects do not all have the same keys. Is that a problem?
No. The CSV gets a column for every key found in any object, and a row leaves the cell empty where its object has no such key.
My JSON has an error. Can I still convert it?
Not until it is valid. The page shows what is wrong; the JSON validator shows the line and column and repairs common mistakes.
Is my JSON uploaded?
No. The JSON is parsed and converted by your browser on your device; nothing is sent to a server.

Why it's private: your files never leave your browser

Most online viewers upload your file to a server, so a copy of it leaves your device. OpenAnyDoc works the other way round: your browser reads the file and draws it on your screen. Nothing is uploaded, there is no account, and the file is gone from memory when you close the tab, so there is nothing for us to store, see or lose.

How we tell you about new features

Announcements are based on the release date shown to everyone, and nothing is stored on your device or sent anywhere.