JSON to CSV

Convert JSON to CSV online for free. FilZap flattens API responses, exports, and log dumps into a clean spreadsheet-ready CSV you can open directly in Excel, Google Sheets, or any data tool — fast, private, and with no signup.

  1. Upload your .json file (up to 25 MB).
  2. FilZap converts the records into CSV rows and columns.
  3. Download your CSV — it is auto-deleted after 1 hour.

How nested JSON becomes flat columns

An array of objects is the ideal input: each object becomes a row and each key becomes a column. Nested objects are flattened using dot notation, so {"user": {"name": "Ada"}} becomes a column headed user.name. Keys missing from some records simply leave an empty cell rather than breaking the row alignment, which means slightly inconsistent API output still converts cleanly.

Wrapped responses are handled automatically

Real API payloads are rarely a bare array. If your file is an object wrapping the records — the familiar {"data": [ ... ]} or {"results": [ ... ]} shape — FilZap finds the list inside and converts that, so you do not have to hand-edit the file first. A single standalone object converts to a one-row CSV. The only hard requirement is that the file's root is an object or an array.

Opening the result without mangling it

Output is UTF-8 encoded standard CSV with a header row. Google Sheets and Numbers read it correctly on import. Excel is the one to watch: double-clicking a UTF-8 CSV can garble accented characters and turn long numeric IDs into scientific notation, so use Data → From Text/CSV and set the encoding to UTF-8, marking ID columns as text.

Frequently asked questions

What JSON structure is supported?

An array of objects converts most cleanly — one row per object. An object wrapping a list, such as {"data": [...]}, is detected automatically, and a single object becomes a one-row CSV. The root must be an object or an array.

How are nested objects handled?

They are flattened into dot-notation columns, so a nested name field under user becomes the column user.name. Deeper nesting keeps chaining in the same way.

Can I open the result in Excel?

Yes, the output is standard CSV. For best results in Excel use Data → From Text/CSV and choose UTF-8 encoding, which prevents accented characters from garbling and stops long IDs turning into scientific notation.

What happens to arrays inside my records?

A list nested inside a record cannot become a single clean column, so it is preserved as its text representation in one cell. If you need those values as separate rows, flatten that level in your export before converting.

What if different records have different keys?

The CSV includes a column for every key seen across all records, and any record missing a key gets an empty cell there. Rows stay correctly aligned.

Is JSON Lines (one object per line) supported?

Not directly — the file has to be valid JSON as a whole. Wrap your lines in square brackets separated by commas to make it a proper array, then upload it.