All Over Tools logo
Tool Combiner
Text Cleanup Text Formatting Text Analysis Text Parsing Data Validation Text Transformation Text Generation
File Converters File Compressors Image Tools Video Tools
Blog About Us Contact Us

JSON to CSV Converter

Convert JSON files into CSV spreadsheets - nested objects are flattened, arrays can be joined, expanded into columns, or expanded into rows, and you can pick exactly which fields make it into the output. Invalid JSON is flagged with a clear, readable error. Everything runs locally in your browser.

Your JSON files are never uploaded. Parsing and the CSV file are both generated locally in your browser - nothing is sent to a server.

Drop JSON files here

or

JSON

File Rows Fields

What This Tool Does

The JSON to CSV Converter turns a JSON file into a real CSV spreadsheet you can open in Excel, Google Sheets, or any data pipeline that expects tabular input. It parses your JSON, flattens nested objects into flat column names, lets you decide how arrays should be represented, and shows you a live preview before you download anything.

How to Convert JSON to CSV

  1. Upload: Drop one or more .json files onto the drop zone, or click browse files.
  2. Check for errors: If a file isn't valid JSON, a plain-language error naming the problem and its line and column appears instead of a preview.
  3. Choose the record source: If your JSON is an object wrapping a list (like { "data": [...] }), the tool detects it automatically - or pick a different array from the Records dropdown.
  4. Set flattening and array handling: Turn nested-object flattening on or off, pick a key separator, and decide whether arrays should be joined into one cell, expanded into indexed columns, or expanded into separate rows.
  5. Pick your fields: Use the field checklist to include or exclude columns - handy for dropping fields you don't need before export.
  6. Review the preview: Scroll the data preview to confirm the columns and values look right.
  7. Convert and download: Click Convert, then download each CSV individually or as a ZIP.

Flattening Nested Objects

Real-world JSON is rarely flat - a "user" object might contain a nested "address" object with its own "city" and "zip" fields. With flattening turned on, those become their own columns, named with your chosen separator: address.city, address.zip, and so on. Turn flattening off and nested objects are instead written as a single JSON string in one cell, which is useful if a downstream tool expects the raw structure preserved.

Array Handling Options

Arrays don't map to a spreadsheet cell as cleanly as objects do, so the tool gives you three ways to handle them. Join values in one cell concatenates array items with a semicolon, keeping one row per JSON record - good for short tag lists. Expand into columns turns an array like tags: ["a", "b"] into tags.0 and tags.1 columns, useful when arrays have a consistent, small length. Expand into rows duplicates every other field and gives each array item its own row - the standard approach for turning a record with a line-item array (like an order's products) into a proper table.

Selectable Fields and Detected Record Lists

Once a file is parsed, every flattened column appears in a checklist above the preview - uncheck anything you don't want in the exported CSV, or use Select all / Select none to start from either end. If your JSON is a single object with one or more array-valued properties (a common API response shape like { "results": [...], "page": 1 }), the tool automatically offers that array as the record source instead of treating the whole object as one row.

JSON Validation

Invalid JSON is caught before anything else runs. Instead of a raw JSON.parse error, you get a message that names the problem and points to the exact line and column, so you know where to look in your source file.

Batch Conversion

Drop multiple files at once. Each gets its own row showing its row and field counts. Download files individually as they finish, or grab everything at once as a ZIP.

Privacy & Security

Your JSON file never leaves your device. Parsing, flattening, and the CSV file itself are all generated entirely inside your browser - no files are uploaded to any server, no account is needed, and there are no usage limits.

Frequently Asked Questions

Can I convert a JSON file that's just an array of objects?

Yes - that's the most common case. Each object in the array becomes one row, and its keys become columns automatically.

What if my JSON is a single object, not an array?

It's converted into a single-row CSV with one column per (flattened) key, unless the object contains an array-valued property the tool detects and offers as the record source instead.

Will deeply nested data work?

Yes. Flattening recurses through nested objects at any depth, joining each level with your chosen separator, so a field three levels deep becomes something like shipping.address.zip.

Is there a row or file size limit?

No artificial limit on file size - the practical limit is your device's memory. Very large results are capped at 20,000 rows and 200 columns to keep the browser responsive, with a warning shown if either limit is reached.

Can I convert multiple JSON files at once?

Yes. Drop as many files as you like, convert them into separate CSV files, and download them individually or as a ZIP.

34 views