Skip to content

JSON ↔ CSV Converter

Turn a JSON array into a spreadsheet-ready CSV, or CSV into JSON, without losing columns.

JSON

Nothing is uploaded

CSV

The CSV appears here as you type.

Runs in your browser — nothing you enter leaves this device.

About this tool

What it does

This converter moves data between JSON — what APIs and apps produce — and CSV, which Excel, Google Sheets and databases import. Going to CSV, it builds the column list from every object rather than only the first, so a field that appears in row 40 isn’t silently dropped; flattens nested objects into columns such as contact.email; keeps arrays as JSON text; and quotes commas, quotes and line breaks correctly. It can also neutralise values beginning with =, +, - or @, which a spreadsheet would otherwise run as formulas. Going to JSON, it detects the delimiter, reads the header row, and turns numbers and true/false into real values while keeping PIN codes, phone numbers and IDs with leading zeros as text.

How to use it
  1. Choose JSON → CSV or CSV → JSON.
  2. Paste your data. The result and its row and column counts update as you type.
  3. For CSV output, choose the delimiter — semicolon suits Excel in regions that use a comma for decimals — and decide whether to flatten nested objects.
  4. For JSON output, say whether the first row is a header and whether to detect numbers.
  5. Copy the result. Save CSV with a .csv extension to open it in a spreadsheet.
Limits and your data
  • Input is limited to 5 MB. For bigger exports, split the file or use a database tool.
  • Formula protection adds an apostrophe before values like =SUM(…) or @user, so they show as text. Plain numbers such as -5 are left alone. Turn protection off if the file isn’t going to a spreadsheet.
  • Deeply nested arrays of objects become JSON text in a single cell rather than extra rows.
  • With number detection on, “1e5” becomes 100000; turn detection off to keep every value exactly as written.
  • Excel may still reformat long numbers and dates when it opens a CSV; import the file through Data → From Text to control column types.
  • Everything is converted in your browser with the open-source PapaParse library. The data — often customer or sales records — is never uploaded or stored.

Questions

Why do some columns appear that weren’t in my first object?

Because they were in later objects. The converter collects every key from every row so nothing is lost; rows without a value get an empty cell.

What is CSV formula injection?

If a cell in a CSV starts with =, +, - or @, spreadsheets may treat it as a formula — which attackers have used to run commands or send data elsewhere. Prefixing an apostrophe makes the spreadsheet show the value as text.

Why didn’t my PIN code become a number?

Values with leading zeros, such as 011001, and integers too long to store exactly are kept as text on purpose, because turning them into numbers would change them.

My CSV uses semicolons. Will it work?

Yes. Leave the delimiter on “Detect automatically” — it looks at the first lines and picks comma, semicolon, tab or pipe — or choose it yourself.