Free & Private Online Browser Utility

Convert JSON to CSV

Convert JSON record arrays and API payloads into structured CSV files directly in your browser. This tool uses a client-side JavaScript parser that extracts column headers from all array records and serializes each row into delimited text lines. Nested objects and inner arrays are flattened into string representations using JSON.stringify rather than discarded. Values containing delimiters, quotes, or line breaks are enclosed in quotes with escaped double-quotes according to RFC 4180 rules. An optional formula injection protection mode prepends a single quote to cells beginning with equals, plus, minus, or at symbols. Supported separators include standard comma, semicolon, and tab characters. The tool downloads standard .csv files and does not generate .xlsx spreadsheet files. Processing executes entirely inside local browser memory with zero network uploads.

How to use

  1. Step 1: Paste JSON Array or Object

    Paste your JSON data into the input box or load the sample dataset to inspect standard records.

  2. Step 2: Configure Delimiter and Options

    Select comma, semicolon, or tab delimiter and toggle formula injection protection if desired.

  3. Step 3: Inspect Grid and Download CSV

    Review the parsed table preview, copy the CSV text to clipboard, or download the output as a .csv file.

Options explained

Delimiter Selection (Comma, Semicolon, Tab)

Sets the separator character used between fields on each line of the generated output.

When to use: Use comma for standard CSV files, semicolon for regional settings requiring comma decimals, or tab for TSV workflows.

Formula Injection Protection

Prepends an apostrophe to text cells beginning with equals, plus, minus, or at signs.

When to use: Use when exporting untrusted user data to prevent formula execution in external spreadsheet applications.

Download .csv File

Generates a standard text/csv MIME blob and triggers a local file download named converted-data.csv.

When to use: Use to save tabular datasets directly to disk for loading into databases or analysis scripts.

Worked example

Input: [{"user": "Alice", "role": "Developer"}, {"user": "Bob", "role": "Designer"}]

Output: user,role Alice,Developer Bob,Designer

Example conversion; output rows correspond to the fields present across input records.

Tips & limits

  • Ensure your input is an array of objects to generate multi-row tables with standardized column headers.
  • Nested objects are flattened into serialized strings; for deep hierarchies consider preprocessing objects.
  • All conversion executes locally in browser memory so customer databases and records remain private.

Common problems

Input gives error: JSON array is empty

Ensure the JSON contains at least one record object so column names can be extracted.

Special characters or commas break table columns

The converter automatically wraps fields with commas in quotes; check that your input contains valid JSON strings.

Frequently Asked Questions (FAQ)

How does this tool flatten nested objects and arrays?

When a field contains an object or array, the converter serializes that value into a string using JSON.stringify before writing the cell, preserving the underlying data within standard quoted text.

Does this tool generate native Excel .xlsx files?

No. The tool generates standard text CSV (.csv) files. It does not export binary Microsoft Excel (.xlsx) workbooks, though the generated CSV files open directly in spreadsheet viewers.

Are my database records or customer lists uploaded to any server?

No. Parsing, escaping, table preview rendering, and CSV blob creation all execute strictly inside your local browser memory.

How does formula protection work?

When enabled, any cell value beginning with formula trigger characters such as equals (=), plus (+), minus (-), or at (@) has an apostrophe prepended to prevent command execution in spreadsheet programs.

Files never leave your device; calculations and transformations happen locally.

Last reviewed: 2026-10-18 · Build: deb3bc0