APIs speak JSON and spreadsheets speak CSV. Moving data between them is a common chore, and the main trap is data that does not fit the flat, rectangular shape of a table.
JSON to CSV
Paste a flat array of objects into the JSON and CSV Converter. The input [{"name":"Ann","age":30},{"name":"Bo, Jr.","age":25}] becomes:
name,age Ann,30 "Bo, Jr.",25
The object keys become the header row. The value “Bo, Jr.” contains a comma, so it is wrapped in quotes, which is the standard way to keep it in one cell.
CSV to JSON
The reverse takes a header row and builds one object per line. The CSV “name,age / Ann,30 / Bo,25” becomes an array of two objects. Notice that the ages come back as text, "30" and "25", because CSV has no types, so convert them in your code if you need numbers.
Limits
- Flat objects only. The converter works on an array of objects with simple values. Nested objects and arrays are rejected with a message, since a table cannot hold them. Flatten your data first, for example by turning
address.cityinto its own field. - Same keys in every object gives the cleanest result.
- An empty CSV produces an error, since there is nothing to convert.
Using the tool
- Choose the direction: JSON to CSV, or CSV to JSON.
- Paste your data.
- Copy or download the result, and open the CSV in a spreadsheet to check it.
Spreadsheet quirks
Some spreadsheet programs open CSV files with the wrong text encoding, so accented characters look garbled; use the import dialog and choose UTF-8. Programs may also reformat values that look like dates or long numbers, so check IDs and phone numbers after opening.
Frequently asked questions
Does it support other delimiters such as semicolons?
The tool uses commas. If your CSV uses semicolons, replace them with commas first, taking care with values that contain commas.
Is my data uploaded?
No, conversion runs in your browser.