JSON to CSV Converter

Convert arrays of JSON objects into properly escaped CSV, flatten nested properties, and protect spreadsheet cells from formula execution.

What JSON to CSV Converter helps you do

Convert JSON arrays of objects into RFC 4180-style CSV or TSV locally, with optional flattening of nested objects and spreadsheet formula protection. Built for handoffs to Excel or Google Sheets — not for streaming megabyte-scale ETL. Paste the payload, check the column mapping, and download a file that opens cleanly.

Parsing, conversion, copying, and downloads happen locally in your browser. The JSON payload is not uploaded to Haivix.

How it works

Haivix parses JSON in the browser, normalizes arrays of objects (including nested keys as dot-separated columns when flattening is enabled), escapes quotes and commas per CSV rules, and can prefix formula-like cell values with an apostrophe. Column order follows the keys encountered in the first row, with later keys added when they appear.

How to use JSON to CSV Converter

  1. Paste a JSON array, a single object, or an object containing one array into the input.
  2. Choose CSV or TSV, then decide whether to flatten nested properties and protect formula-like spreadsheet cells.
  3. Convert the data and review row and column counts.
  4. Copy the result or download a UTF-8 file and open it in the target spreadsheet.

When to use it

  • Moving API response data into a spreadsheet for ad hoc analysis
  • Flattening nested records for reporting without uploading data
  • Reducing formula-injection risk when opening exported text in Excel
  • Turning a small JSON export into a file a non-developer can review
  • Preparing fixture data for a spreadsheet-based test case
  • Checking how a nested payload maps to columns before writing an importer

When not to use it

  • Very large datasets that exceed browser memory
  • Preserving nested arrays without flattening or custom schema mapping
  • Production pipelines requiring schema validation and incremental loads
  • Data with binary values or multi-megabyte strings that a spreadsheet cannot handle

Example

An array of {"user":{"name":"Ada"},"score":10} with flattening enabled becomes columns user.name and score with one data row. Adding a second object without the score key leaves that cell empty rather than shifting the other columns.

What you can do with JSON to CSV Converter

  • Convert an array of objects, a single object, or an object containing one array.
  • Flatten nested objects into dot-separated column names.
  • Escape commas, quotes and line breaks per CSV rules.
  • Emit CSV or tab-separated output.
  • Prefix formula-like cells to reduce spreadsheet injection risk.
  • Copy the result or download it as a UTF-8 file.

Example: turn an API export into a sheet

Paste the API payload and convert once with flattening enabled. Check the column names before opening the file; a nested key that becomes user.name is easier to work with than a JSON blob in one cell.

Review the row count against the source array length. A lower count usually means the input was not an array of objects or an object was skipped.

Keep formula protection on for data from an untrusted source, then open the file in the target spreadsheet and confirm that leading apostrophes are not visible in the cells you care about.

What to know before you start

  • Parsing uses JSON.parse — duplicate keys follow JavaScript last-key-wins behavior.
  • Extremely wide flattened objects can produce unwieldy spreadsheets.
  • All processing stays local but is still bound by browser memory.
  • Column collisions after flattening require a manual rename; the tool does not resolve them.
  • There is no schema validation beyond JSON syntax.

Common mistakes

  • Flattening objects with conflicting leaf names without checking column collisions
  • Disabling formula protection then opening CSV in Excel with cells starting with =
  • Assuming column order matches API field order when keys differ between objects
  • Opening the file with a delimiter setting that does not match the export
  • Treating empty cells as missing fields without checking the source object
  • Downloading CSV for a locale that expects semicolon separators

Troubleshooting

If the conversion fails, check that the input is valid JSON and that the root is an object or an array of objects. A bare array of strings has no column names to infer.

If columns look wrong, a nested object may need flattening or a key may appear only in later rows. Review the first few records before converting.

If a spreadsheet shows the whole row in one cell, the import used the wrong delimiter. Choose the separator that matches the export.

If a cell starts with an apostrophe, formula protection added it. That is expected; the apostrophe tells the spreadsheet to treat the value as text.

If a large payload freezes the tab, reduce the input or use a command-line converter. The browser holds the parsed data and the output in memory.

Related standards and documentation

  • RFC 4180 describes the CSV format and its quoting rules.
  • RFC 8259 defines JSON; spreadsheet formula injection is a separate application-level risk.
Conversion guide JSON to CSV without breaking spreadsheets

Flattening rules, RFC 4180 escaping, and formula protection in Haivix.

Check the columns before the row count
  • Flatten nested keys into dot-separated columns.
  • Formula protection prefixes risky cells.
  • Large payloads belong outside the browser.

Frequently Asked Questions