Toolslay

JSON to CSV

Paste a JSON array below and this json to csv converter flattens nested objects into proper columns, ready to open in Excel or Google Sheets.

Loading tool…

About

About JSON to CSV

Converting json to csv means taking data built around nested objects and arrays, the native shape of most API responses, and reshaping it into the flat rows and columns a spreadsheet actually understands. This json to csv converter does that reshaping automatically, including the part most people get stuck on: deciding what to do with a nested object or an array sitting inside a single record.

Free, no sign-up

A nested object gets handled by combining its parent and child keys into a single dotted column header, so {"address":{"city":"Lahore"}} becomes a column named address.city rather than losing the relationship between the two fields. An array of values inside a record, on the other hand, usually gets serialized into a single cell as a JSON string, since spreadsheets don't have a clean native way to represent a one-to-many relationship in a flat row.

Inconsistent records are the other common headache. If some objects in your array have a field that others don't, the converter needs a rule for what goes in that cell, and the sensible default is to leave it blank rather than throwing an error or dropping the whole row, which is what this tool does.

Paste your raw JSON array in and a table preview builds immediately, so you can check the columns line up the way you expect before downloading anything. You can also switch the delimiter from comma to semicolon, which matters if the file is headed for a European locale of Excel that expects semicolons by default.

The whole parsing and flattening process runs in your browser's memory, so a file with customer records, financial data, or anything you'd rather not route through a server stays local the entire time, and the download is a standard CSV that opens cleanly in Excel, Numbers, or Sheets.

FAQ

Frequently asked questions

What actually happens to nested objects during the conversion?

Each nested key gets combined with its parent key using a dot, so a field like user.address.city becomes its own column, keeping the relationship intact instead of losing it in the flattening process.

How does the tool handle an array field inside a JSON object?

Since a spreadsheet row can't natively hold a one-to-many relationship, an array value typically gets serialized into a single cell as a JSON string, which keeps the data intact even though it's no longer broken into separate columns.

Why are some cells blank in my output?

That usually means not every object in your JSON array has the same set of keys. Rather than erroring out or dropping the row, the converter leaves the cell blank for any missing field so the rest of the record still comes through.

Will a large JSON file slow down or crash the converter?

Standard data arrays, even fairly large ones, process quickly since everything runs in your browser's own memory. An extremely large file might make the preview render a little slower, but the underlying conversion itself stays fast.

Can I choose a different delimiter than a comma?

Yes, switching to a semicolon is useful if the file is going into a European-locale version of Excel, which expects semicolons as the default separator rather than commas.

Is it safe to convert a file with customer or financial data in it?

Yes, the parsing happens entirely client-side. Nothing you paste gets uploaded to a server or stored anywhere outside your own browser tab.