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.
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
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
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
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
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.
- JSON
- CSV
- TSV
Frequently asked questions
Recommended tools
CSV to JSON
Convert CSV to JSON in your browser. Paste or drop a.csv and get a clean array of objects or arrays with a header toggle, optional number/boolean type inference and pretty or minified output. Nothing is uploaded.
CSV to Excel
Convert CSV to a real Excel.xlsx file in your browser. Paste or drop a.csv, preview the parsed grid live, name the sheet, and download a workbook that opens natively in Excel, Google Sheets and LibreOffice. Delimiter is auto-detected. Nothing is uploaded.
Excel to CSV
Convert Excel to CSV in your browser. Drop an.xlsx or.xls, pick the sheet you want and download a clean, correctly-quoted CSV. Multi-sheet workbooks, commas inside cells and quoted fields are all handled. Nothing is uploaded.
JSON Formatter
Format, validate and minify JSON in your browser with pinpoint error line + column, jump-to-error, key sorting and live editing: nothing is uploaded.
CSV Viewer
View CSV files online as a fast, sortable spreadsheet, search across every cell, sort any column, and read a live per-column profile with row/column counts and numeric stats. Read-only, so you never touch the data. Nothing is uploaded.
CSV Editor
Open, edit and clean CSV files in your browser as a real spreadsheet, fix cells, add or delete rows and columns, sort, find, and export to CSV, JSON or Excel. Nothing is uploaded.
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"Comparisons & guides
Go deeper on the concepts behind the json to csv.
CSV vs JSON: Which Data Format Fits Your Job?
ComparisonCSV is a flat, compact table format that spreadsheets love. JSON is a nested, structured format that code and APIs love. How to do it they differ and when to reach for each.
Read the comparisonJSON vs XML: Which Should You Use for Data Exchange?
ComparisonJSON is lean, fast to parse and the default for modern web APIs. XML is verbose but self-describing, with schemas, namespaces and rich validation. Here's the real trade-off.
Read the comparisonYAML vs JSON: Which Is Better for Config and Data?
ComparisonYAML is human-friendly with comments and clean indentation, ideal for config. JSON is strict, ubiquitous and data-exchange-ready. Here's when each wins, and the gotchas.
Read the comparisonHow to Format JSON (Pretty-Print & Validate)
GuideTurn a minified or broken JSON string into clean, indented, readable JSON, and catch syntax errors while you're at it. A quick step-by-step guide.
Read the guideHow to Convert CSV to JSON (Free, In Your Browser)
GuideTurn a spreadsheet or CSV export into a clean array of JSON objects, with the right headers as keys and correct data types. A step-by-step guide.
Read the guideCommon 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.
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.
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.
Added a toggle to disable flattening (nested values kept as compact JSON strings) and refined the row/column badges for arrays of arrays.
Keep exploring
Problems we solve
Definitions
From the blog
- CSV vs Excel: What's the Difference and When to Use Each
- How to Convert CSV to JSON: Headers, Types, and Nesting Done Right
- How to Convert Excel to PDF: Keep Your Spreadsheet Readable When You Share It
- Working With CSV Files: A Practical Guide to Editing and Cleaning Data
- How to Convert Audio to MP3 (And Pick the Right Bitrate)
Explore categories
Compare formats
By file type
Common tasks
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.