LogoTOOLGENIE

JSON to CSV Converter β€” Convert JSON and CSV Online

Convert JSON to CSV or CSV to JSON instantly. Handles nested objects, arrays, and custom delimiters β€” free, private, and fully in your browser.

CSV output

Options

100% client-side β€” your data never leaves this device. No signup, no upload, no file size limit beyond your browser's memory.

How to Use the JSON to CSV Converter

  1. Pick a direction β€” JSON β†’ CSV to flatten an API response into a spreadsheet, or CSV β†’ JSON to turn an export back into structured data.
  2. Paste or upload your data. Drop in a JSON array, a single JSON object, or a CSV file. Conversion runs as you type β€” there is no Convert button to hunt for.
  3. Choose your delimiter β€” comma, semicolon, tab, or pipe. Semicolon matches European Excel locales; tab produces TSV.
  4. Tune the structure options. Keep Flatten nested data on to turn address.city into its own column, and Detect numbers & booleans on to get real JSON types back.
  5. Copy or download the result as .csv or .json. Press Swap to feed the output straight back in and verify a clean round trip.

About This JSON and CSV Converter

JSON is how APIs talk; CSV is how spreadsheets, BI tools, and finance teams read. Moving between the two is one of the most common chores in a developer's week β€” pulling an endpoint response into Excel for a colleague, or turning a client's exported sheet back into seed data. This converter does both directions in one page, instantly and privately.

Most free converters fall over on nested data. Give them {"address": {"city": "London"}} and you get a cell full of raw JSON, or an error. ToolGenie flattens nested objects and arrays into dot-notation columns ("address.city", "tags.0"), and can rebuild that structure on the way back β€” so a JSON β†’ CSV β†’ JSON round trip returns what you started with, quotes and commas intact.

Everything runs client-side. Your data is never uploaded, which matters when the file you are converting is a customer export, a billing report, or anything else you would not paste into a random website. Pair it with the JSON editor, JSON validator, or focused JSON to CSV tool to validate and beautify JSON before converting, or the text diff checker to compare two exports afterwards.

How Nested JSON Becomes CSV Columns

Nested objects become dot-notation columns

An object nested inside a record is expanded so each leaf gets its own column. {"user": {"name": "Ada", "city": "London"}} produces the columns user.name and user.city. Nesting can go as deep as you like.

Arrays become indexed columns

{"tags": ["engineer", "author"]} becomes tags.0 and tags.1. Records with different array lengths still line up, because columns are collected across every row and missing values are left blank.

Ragged records still produce a valid table

If one record has a field the others lack, it becomes a column anyway and the other rows get an empty cell. You never lose a field just because it only appears once.

Quoting follows RFC 4180

Values containing your delimiter, a double quote, or a line break are wrapped in quotes, and internal quotes are doubled β€” so Ada, Jr. stays a single cell instead of silently splitting into two columns when Excel opens it.

Frequently Asked Questions (FAQ)

1. How do I convert JSON to CSV online for free?

Paste your JSON into the input box (or upload a .json file) and the CSV appears immediately in the output pane. Choose your delimiter, then click Copy result or Download .csv. There is no signup, no upload to a server, and no row limit.

2. How does the converter handle nested JSON objects and arrays?

With Flatten nested data enabled, nested values become dot-notation columns. An object like {"address":{"city":"London"}} becomes an address.city column, and an array like {"tags":["a","b"]} becomes tags.0 and tags.1 columns. Turn flattening off and each nested value is written into a single cell as compact JSON instead.

3. Can I convert CSV back to JSON?

Yes. Switch to the CSV to JSON tab, or press Swap to send the current result straight back through the converter in the opposite direction. Enable Expand dot notation and columns such as address.city are rebuilt into nested JSON objects, so a JSON to CSV to JSON round trip returns your original structure.

4. What happens to IDs with leading zeros like 007?

They stay text. When Detect numbers and booleans is on, a value is only converted to a number if it round-trips exactly, so 007, 1.10, 1e5 and phone numbers keep their original formatting while 42 and -3.5 become real JSON numbers. Switch the option off to keep every value as a string.

5. Which CSV delimiters are supported?

Comma, semicolon, tab, and pipe. Semicolon is useful for European Excel locales where comma is the decimal separator, and tab produces TSV. The same delimiter setting applies in both conversion directions.

6. Does it handle commas, quotes, and line breaks inside values?

Yes. The converter follows RFC 4180: any value containing the delimiter, a double quote, or a line break is wrapped in double quotes, and embedded quotes are doubled. Reading CSV works the same way, so quoted fields containing commas or multi-line text are parsed correctly.

7. Can I open the result in Excel or Google Sheets?

Yes. Download the .csv file and open it directly in Excel, Google Sheets, or Numbers. If your spreadsheet locale uses semicolons rather than commas, select the semicolon delimiter before downloading so the columns split correctly on open.

8. Is my data uploaded to a server?

No. Parsing and conversion run entirely client-side in your browser using JavaScript. Your JSON and CSV never leave your device, which makes the tool safe for customer records, exports, and other sensitive data.

Tips for Converting JSON and CSV Cleanly

  • Validate JSON before converting. A trailing comma or single quote will stop the conversion with a parser message. Run it through the JSON validator or JSON editor first if the source is hand-edited.
  • Use semicolons for European Excel. In locales where the comma is the decimal separator, a comma-delimited file opens as one squashed column. Switch the delimiter before downloading and it splits correctly.
  • Watch out for IDs and postcodes. Spreadsheets love to eat leading zeros. This converter keeps values like 007 as text, but format the column as text in Excel too, or the spreadsheet will strip them on import.
  • Round-trip to check your mapping. Convert JSON β†’ CSV, hit Swap, and confirm the JSON that comes back matches what you started with. It is the fastest way to spot a flattening option set the wrong way.
  • Flatten off for archival exports. If you need the original nested value preserved verbatim in one cell rather than spread across columns, turn off flattening β€” each nested value is written as compact JSON.
  • Compare two exports with the text diff checker to see exactly which rows changed between two API pulls.