Sooner or later someone from finance or marketing asks for the data in a spreadsheet, and what you have is a JSON array from an API. This json to csv tool closes that gap: paste the array and each object becomes a row, with its keys promoted to column headers. Because the output is standard CSV, it doubles as a json to excel converter, since Excel, Google Sheets, and Numbers all open CSV files directly. It's built on Papaparse, so commas, quotes, and line breaks inside values are escaped the way a proper csv converter should. Nothing uploads; the conversion happens entirely in your browser.
Drop in an array of objects, or a single object. Try sample loads two records so you can check the expected shape before pasting your own data.
02
Click Convert to CSV
The tool collects the keys, writes them as a header line, then adds one row per object. Edit the JSON and press it again to convert json to csv with fresh data.
03
Hand it to the spreadsheet
Copy the output and save it as a .csv file, then open it in Excel or Sheets. Column order follows the keys of your objects.
Why JSON to CSV
Paste a JSON array of objects and get a clean CSV back, with the keys turned into column headers for you.
Everything runs in your browser. Your JSON is never uploaded, so you can convert JSON to CSV with client or private data safely.
The CSV opens straight in Excel, Google Sheets, or Numbers, so it works as a quick json to excel converter too.
Built on Papaparse, so commas, quotes, and line breaks inside your values are escaped correctly.
No sign up and no usage cap. Convert json to csv online as often as you need.
Common questions
Will Excel open the result without an import wizard?
In most locales, yes: double-click the .csv and the columns line up. If you'd rather skip saving a file, paste the output into Google Sheets and it splits into cells, which is the fastest json to excel online route. People who want to open csv file online without desktop software usually go through Sheets too.
Where do nested objects end up in the CSV?
CSV is flat, so a nested object can't become a tidy column on its own. You'll get the best results from an array of flat objects where every value is a string, number, or boolean. Flatten nested data first, for example by pulling user.address.city up to a single key, and each key then gets its own column.
Is a separator other than the comma possible?
The output uses commas with standard quoting, which is what nearly every consumer expects. If you came looking for a comma separator online but actually need semicolons or tabs, set the delimiter in your spreadsheet's import step instead; the data itself doesn't change.
How do I go the other direction, spreadsheet into JSON?
Use the CSV to JSON tool on this site; it's the mirror image of this page. Paste csv to json there and the header row becomes keys with one object per line. The two tools together let you move data between developers and spreadsheet users in either direction.
Is there a json escape online or json decode online feature here?
No, this page only converts parsed JSON into CSV. If your data arrived as an escaped string, decode it first; the JSON Formatter covers the json decode online step and cleans up the result. Wanting json escape online means going the other way, wrapping JSON inside a string, which is also outside this tool's job.
Does it accept a JSON Schema as input?
No. A schema describes the shape of data; this tool needs the data itself. It isn't a json schema converter, so paste actual records, not field definitions. If all you have is a schema, generate a sample document from it first, then convert that.
Can the CSV become a PDF afterwards?
Not on this page, and there's no csv to pdf converter on the site, but the workflow is short: convert here, open the CSV in Excel or Sheets, then use Print or Export to produce the PDF. The spreadsheet step also lets you style the table before printing.
Do repeated conversions cost anything or need an account?
No sign up, no quota. It behaves like any json converter online should: paste, convert, copy, as many times as the job takes. Since processing is local, large batches don't slow down on a network round trip either.
Why are some cells wrapped in double quotes?
That's correct CSV behavior, not a bug. Any value containing a comma, a quote, or a line break must be quoted so the columns still parse. Papaparse applies those rules automatically, which is exactly what you want when values contain free text.