Skip to content
Toolew.com

JSON to CSV Converter

Convert a JSON array of objects into a CSV spreadsheet, flattening nested fields into columns, with a live table preview.

Runs in your browser. Your data is not uploaded.
Loading tool…

This guide is not yet available in your language and is shown in English.

Tool guide

What this tool does

JSON to CSV Converter turns API responses and exported records into comma, semicolon, tab or pipe separated files that open cleanly in Excel, Google Sheets and databases. Nested objects become dot-named columns, arrays can be joined or split into numbered columns, and the converter finds the record list inside wrappers such as { "data": [...] }.

JSON is how APIs and modern apps exchange data, but spreadsheets, BI tools and bulk-import screens usually want CSV: one header row and one line per record. The awkward part is that real JSON is rarely flat. A customer record may hold an address object, a list of tags and fields that only some records have, so a naive conversion either drops data or produces columns full of [object Object].

This converter collects every key that appears in any record, in first-seen order, so no field is lost when records differ. Nested objects are flattened into dot-separated column names such as address.city, and you decide whether arrays are joined into one cell, kept as JSON text or spread across numbered columns. Fields are quoted following RFC 4180: values containing the delimiter, a double quote or a line break are wrapped in quotes and inner quotes are doubled. Parsing and conversion run in your browser, so exported customer data never leaves your device.

How to use JSON to CSV Converter

  1. Paste JSON into JSON input, open a .json file, or click Sample to see a typical API response.
  2. Pick the Delimiter. Use Semicolon if your spreadsheet uses a comma as the decimal separator, as in much of Europe.
  3. Keep Flatten nested objects on, and choose how Arrays inside records should be written.
  4. Decide on the header row, quoting, line endings and the UTF-8 BOM option for Excel.
  5. Check the Preview table and the Rows and Columns figures, then copy or download data.csv.
  6. To convert many exports at once, drop them on Convert several files and download the ZIP.

Tips for better results

  • If the JSON is an object that wraps a single array of records, such as { "results": [...] }, that array is used automatically and the preview tells you which path was converted.
  • Turn on Add UTF-8 BOM when Excel on Windows shows names like Müller instead of Müller; Excel uses the BOM to recognise UTF-8.
  • Choose CRLF line endings when the file is going to a strict RFC 4180 consumer or an older Windows tool.
  • One column per item works best for short, fixed-length arrays such as coordinates; for long or varying lists, joining keeps the sheet narrow.

Common use cases

  • Opening a REST API response in Excel or Google Sheets for analysis.
  • Preparing a bulk-import file for a CRM, e-commerce platform or mailing list.
  • Exporting MongoDB or Firestore documents to a flat table for reporting.
  • Sharing structured log or analytics data with colleagues who do not read JSON.

Common mistakes to avoid

  • Converting a single deeply nested configuration object and expecting rows; CSV suits lists of similar records, not trees.
  • Opening the file in a locale that expects semicolons and seeing everything in column A; pick the delimiter your spreadsheet expects.
  • Letting Excel reformat IDs: long numbers turn into scientific notation and leading zeros vanish on open, so import such columns as text.

Frequently asked questions

What happens when records have different fields?

Every key found in any record becomes a column. Records that lack a field get an empty cell in that column, so the output is always rectangular and nothing is silently dropped.

How are nested objects handled?

With Flatten nested objects switched on, { "address": { "city": "Leeds" } } becomes a column named address.city. With it off, the whole nested object is written into one cell as JSON text.

Can I convert a JSON file with millions of characters?

Yes. Large inputs are processed after a short pause in typing with a progress indicator, and the preview shows only the first ten rows, so multi-megabyte exports stay responsive.

Does the output follow a CSV standard?

Quoting follows RFC 4180: fields with the delimiter, quotes, line breaks or surrounding spaces are quoted and inner quotes are doubled. You can also quote every field if a target system requires it.

Related articles

Feedback & suggestions

Help us improve JSON to CSV Converter. We read every message.

Rating (optional)
Necessary
Required for security, language and theme preferences. Always on.