OnlineAITool
Developer Tools

JSON to CSV Converter

Turn an array of JSON objects into CSV, ready for a spreadsheet.

Updates as you type
Nothing is sent anywhere

How to use this tool

  1. Paste or type your text into the box above.
  2. The result updates as you change the input — there is nothing to submit and nothing to wait for.
  3. Read the figures in the result panel, or copy the converted text.
  4. Use Copy or Download if you need the output elsewhere. Nothing was uploaded at any point.

Columns are collected from every object, so records with differing keys still line up correctly. Nested objects can be flattened into dotted column names such as address.city.

JSON to CSV Converter — the specification

InputAn array of objects, or a single object
ColumnsUnion of all keys across every record
Nested objectsOptionally flattened to dotted names
EscapingQuotes, commas and newlines handled per RFC 4180
OutputDownloadable .csv

How it works

This tool runs entirely in your browser. There is no server involved, which means nothing you type or upload is transmitted, stored, or logged — and there are no usage limits, because there is nothing for us to ration.

You can confirm it yourself: open your browser's developer tools, select the Network tab, and use the tool. No request is made.

A worked example

Run against this page’s own code, with the real input and the real output reproduced below.

What went in

[{"exam":"SSC CGL","minKb":20,"maxKb":50},{"exam":"NEET","minKb":10,"maxKb":200},{"exam":"UPSC","minKb":20,"maxKb":300}]

What came back

Rows3
Columns3
Size54

Everything above happened in the page as the text was typed. Nothing was sent to a server, which is why it works offline once the page has loaded and why there is no limit on how often you use it.

Who needs JSON to CSV Converter

Getting API data into Excel or Google Sheets, or handing a developer export to someone who works in spreadsheets.

JSON to CSV Converter — frequently asked questions

What if my records have different fields?

Every key found anywhere becomes a column, and records missing that key get an empty cell. Nothing is silently dropped.

How are nested objects handled?

With flattening enabled, {"address":{"city":"Dubai"}} becomes a column named address.city. Arrays are written as JSON text in a single cell.

Will it open correctly in Excel?

Yes. Values containing commas, quotes or newlines are quoted and escaped per RFC 4180. If accented characters look wrong, import as UTF-8 rather than double-clicking the file.

Does this work offline?

Yes. Once the page has loaded you can disconnect from the internet and it keeps working, because all the processing happens in your browser. That is also the simplest way to confirm nothing is being sent anywhere.

Is there a limit on how much I can paste in?

Nothing we impose. The practical limit is your device’s memory, since the work happens locally. Very large inputs get slower rather than being refused.

Can I use this on a phone?

Yes. The layout adapts to a small screen and everything works the same way.

Related tools

From other categories

Your file never leaves your device. Open your browser's Network tab while you use this page and you will see no upload — how that works.

Disclaimer. Published requirements change without notice. Confirm against the official source before you submit. Full disclaimer.