Skip to content
GigAI Tools

JSON to CSV Converter: Turn JSON Into CSV Online

Paste a JSON array of objects and watch it become a clean CSV live. Flatten nested objects into dotted columns, toggle the header row, and pick comma, semicolon or tab: then copy it or download a.csv, all in your browser and never uploaded.

100% browser processingFree · no sign-up
Loading tool…

What is the json to csv?

JSON to CSV converts a pasted JSON array of objects into a spreadsheet-ready CSV in your browser. It adds a header row, automatically flattens nested keys, and lets you choose a comma, semicolon or tab delimiter. Copy or download the result instantly. Free and fully client-side, with nothing uploaded.

The GigAI JSON to CSV converter is a desktop-grade tool for turning JSON, the shape almost every API returns, back into the CSV that spreadsheets, BI tools and analysts actually open. Paste an array of objects, drop a.json file, or import one, and it produces a spreadsheet-ready CSV the instant you type. Under the hood it reuses the same document engine as the rest of the suite: papaparse's `unparse` does the RFC-4180 quoting, so values containing commas, double quotes or embedded newlines are escaped correctly instead of silently splitting your columns. Real JSON is rarely flat, so the tool flattens nested structure before serialising: a `{ address: { city } }` becomes an `address.city` column and a `tags: ["a", "b"]` array becomes `tags.0` and `tags.1`, giving you one clean cell per leaf value. Because different objects in an array often carry different keys, the header is built from the union of every row's flattened keys. No column is dropped just because the first object happened not to have it, and missing values are written as empty cells rather than shifting your data. A header toggle lets you emit the column names or ship a headerless CSV for tools that expect raw rows, and a delimiter switch covers comma (classic CSV), semicolon (the European convention Excel expects in many locales) and tab (TSV) without changing your data. Live badges report the row and column counts and the exact output size, so you know precisely what you are shipping. Copy the CSV to your clipboard, download it as a.csv you can open straight in Excel or Google Sheets, or share a link that reopens the tool with your data pre-loaded. Everything runs client-side: API dumps, exported records and internal datasets never leave your machine, and closing the tab erases every trace.

Difficulty:
Easy
Typical time:
~15s
Processing:
100% browser processing
Converts:
JSON → CSV

Last updated

How to use the json to csv

  1. 1

    Add your JSON

    Paste a JSON array of objects into the left editor, drop a .json file anywhere on the workspace, or click Import. A sample loads in one click if you just want to see it work.

  2. 2

    Flatten & set the header

    Leave flattening on to turn nested objects and arrays into dotted columns, and toggle the header row on for named columns or off for a raw, headerless CSV.

  3. 3

    Pick a delimiter

    Choose comma, semicolon or tab depending on what your spreadsheet or downstream tool expects. The CSV re-renders live the instant you switch.

  4. 4

    Copy or download

    Copy the CSV to your clipboard, download it as a .csv file, or share a link that reopens the tool with your data pre-loaded.

What JSON to CSV includes

  • Spreadsheet-ready output

    Paste an array of objects and get a CSV that opens straight in Excel, Google Sheets or Numbers, with proper RFC-4180 quoting so commas, quotes and newlines inside values never break your columns.

  • Flattens nested keys

    Nested objects and arrays are flattened into dotted, bracket-indexed columns (address.city, tags.0, tags.1) so every leaf value lands in its own cell instead of a dumped JSON blob.

  • Union-of-keys header

    When objects in the array carry different fields, the header is built from every row's keys combined. No column is dropped and missing values become empty cells, so nothing shifts out of line.

  • Comma, semicolon or tab

    Choose classic comma CSV, the semicolon convention many Excel locales expect, or tab-separated TSV, the delimiter changes without touching your data.

  • Live row, column & size badges

    The moment you paste, badges show how many rows and columns were produced and the exact size of the CSV output, so you know precisely what you are about to ship.

  • 100% client-side

    Conversion happens on your device. API dumps, exported records and internal datasets are never uploaded, stored or logged: close the tab and every trace is gone.

Why use our json to csv

Get an API response into a spreadsheet

Turn the JSON array an endpoint returns into a CSV an analyst can open in Excel or Sheets. No export script, no server round-trip, no copy-pasting cell by cell.

Nested data becomes real columns

Flattening means a value buried in address.city or tags.0 gets its own column, so the CSV is usable instead of a single cell full of stringified JSON.

Handles ragged arrays cleanly

Objects with different keys still line up: the union header keeps every field and writes blanks where a row lacks one, so your columns never drift.

No install, no upload

Get a robust JSON-to-CSV converter without wiring up papaparse in a project or pasting confidential data into a third-party site. It all runs locally in the tab.

Built for the way you work

From quick one-off fixes to daily workflows, see how people put this tool to use.

  • Data analyst

    Open an API dump in Excel

    Paste a JSON response from a REST endpoint and get a flattened CSV that loads straight into Excel or Google Sheets for filtering, pivots and charts.

  • Backend developer

    Export fixtures for review

    Turn an array of seed records or a JSON fixture into a CSV a non-technical teammate can open and comment on without touching the codebase.

  • Ops / analyst

    Feed a BI or import tool

    Convert a JSON export into the CSV shape a dashboard, CRM importer or billing tool expects, with the delimiter it requires, in one paste.

  • No-code builder

    Bridge a JSON-only source to a sheet

    Take JSON from an automation or webhook and produce a CSV your spreadsheet-based workflow or import step can actually accept.

Supported formats

Accepts JSON, and produces CSV and TSV, all processed locally in your browser.

Input formats
  • JSON
Output formats
  • CSV
  • TSV

Frequently asked questions

Use JSON to CSV in your code

The same engine runs behind the free API: send files, get signed download links back, and everything is deleted after the retention you choose. 1,000 tasks a month, no card.

Also runs as a task inside a job - chain it with the other engines. See the recipes.

curl -X POST https://api.gigai.tools/v1/jobs \
  -H "Authorization: Bearer $GIGAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "tasks": {
    "in": { "operation": "import/url", "url": "https://example.com/input.json" },
    "work": { "operation": "json-to-csv", "input": ["in"] },
    "out": { "operation": "export/url", "input": ["work"] }
  } }'

# then poll until finished and follow the export URL:
curl https://api.gigai.tools/v1/jobs/JOB_ID/wait -H "Authorization: Bearer $GIGAI_API_KEY"

Common problems, solved

Hit a snag? Here are quick fixes for the issues people run into most.

  • My nested objects show up as one column of JSON text.

    Make sure 'Flatten nested keys' is on. It expands objects and arrays into dotted columns (address.city, tags.0). With it off, a nested value is written as a compact JSON string in a single cell by design.

  • Some rows have blank cells I didn't expect.

    That is the union-of-keys header working as intended: when objects in the array have different fields, every field becomes a column and rows that lack one get an empty cell so nothing shifts. Add the missing key to those objects if you want a value there.

  • Excel put my whole row in one cell.

    Your locale's Excel likely expects a semicolon separator. Switch the delimiter to semicolon and re-download, or import the comma CSV via Excel's Data → From Text/CSV with the delimiter set explicitly.

  • It says the JSON must be an array.

    CSV rows come from a top-level JSON array. Wrap a single object in an array ([ { … } ]) or point the tool at the array inside your payload, the converter reads an array of objects (or arrays), not a bare object.

Get the most out of it

  • Wrap a single object in an array ([ { … } ]) to get a one-row CSV. A bare object isn't a table.

  • Turn the header row off when a downstream importer expects raw rows without column names.

  • Pick the semicolon delimiter if Excel in your locale splits comma CSVs into one cell.

  • Flattening uses dotted keys (address.city) and array indices (tags.0), rename those columns in your spreadsheet afterwards if you need friendlier headers.

  • Need to go the other way? Use the sibling CSV to JSON tool to turn a spreadsheet back into an array of objects.

What's new

Recent updates and improvements to the json to csv.

  1. Initial release, client-side JSON to CSV built on the shared papaparse engine, with a header toggle, a comma/semicolon/tab delimiter switch, live conversion, row/column/size badges, copy, download and shareable links.

  2. Added automatic flattening of nested objects and arrays into dotted, index-suffixed columns, plus a union-of-keys header so ragged arrays keep every field.

  3. Added a toggle to disable flattening (nested values kept as compact JSON strings) and refined the row/column badges for arrays of arrays.

Your privacy is built in

Your JSON is flattened and converted to CSV entirely in your browser. It is never uploaded to any server. Nothing is stored, logged or transmitted, so you can safely convert API responses, exported records and internal datasets. Close the tab and every trace is gone.

  • Runs in your browser
  • No uploads
  • Nothing stored

Ready to try the json to csv?

Free, private and instant. JSON to CSV runs right in your browser.