LocalOps Studio free browser tools

How-to guide · CSVLink

How to convert JSON to CSV without uploading your data

JSON is what APIs return; CSV is what spreadsheets expect. Moving rows between the two is a routine task - exporting an API response for a manager, importing a vendor file into a pipeline, or preparing a dataset for analysis. This guide covers a clean, local conversion that keeps the data on your machine.

Updated 2026-08-25 Local-first No upload

Step 1 - Understand the two directions

JSON to CSV: an array of objects becomes a table, with each object's keys as columns. Nested objects need flattening - {"user": {"name": "Alice"}} becomes a user.name column.

CSV to JSON: each row becomes an object, and cells that look like numbers should come back as numbers rather than strings so the payload is usable downstream.

Step 2 - Pick the right delimiter for your region

  • Comma (,) - the default for US tools and most APIs.
  • Semicolon (;) - the common Excel export in many European locales.
  • Tab - clean for pasting between systems that mangle commas.
  • Pipe (|) - useful when data itself contains commas.

Step 3 - Protect the CSV against formula injection

A CSV cell that begins with =, +, -, or @ is executed as a formula when opened in Excel or Google Sheets. That is how imported datasets smuggle in spreadsheet commands. A good converter escapes those leading characters so the file renders as plain text.

This matters most for files you did not generate yourself - vendor exports, scraped data, or anything downloaded from a third party.

Step 4 - Run the conversion locally

  1. Open a local conversion tool (CSVLink does this entirely in your browser).
  2. Paste the JSON array into the left pane, or a CSV into the right pane.
  3. Choose the delimiter and toggle nested flattening if your JSON has objects inside objects.
  4. Convert, review the output, then copy or download.
Try it free - CSVLink

Convert JSON arrays to CSV and back

Open the tool

Frequently asked questions

Can any JSON become a CSV?

Arrays of objects convert cleanly. A single object becomes one row. Deeply nested or heavily nested structures flatten into dot-notation columns, which is the standard approach.

Why does my JSON-to-CSV output have user.name columns?

Nested objects are flattened using dot notation so the CSV stays rectangular. You can toggle flattening off if you prefer each top-level field as its own column.

Is converting CSV back to JSON lossless?

Structurally yes - row values become object values. Numbers come back as numbers where the cell clearly looks numeric, which is usually what you want for further processing.

Is it safe to use an online JSON-to-CSV converter?

If the data is customer data or an API response containing tokens, do the conversion locally. Browser-based tools like CSVLink never upload your input.