Skip to content
FileKit
Data And FormatsRuns in your browser6 min read

JSON to CSV Converter

This JSON to CSV converter turns a JSON array of objects into a CSV file you can open directly in Excel, Google Sheets or Numbers. Paste the JSON or drop a .json file, choose a delimiter, and download a spreadsheet ready file that never leaves your browser. Nested objects and arrays are flattened into dot notation columns automatically, so a field like address.city becomes its own column instead of an unreadable block of JSON text sitting inside a single cell.

Loading the tool interface
Files never leave your deviceNo upload wait and no queueNo signup, watermark or file limit

JSON and CSV solve different problems. JSON is a nested, self describing format built for programs to exchange structured data between a server and a client. CSV is a flat, row and column format built for spreadsheets and for people who need to filter, sort and skim data without reading source code. An API response, a database export or a configuration file is almost always JSON, and the moment someone wants to open that data in a spreadsheet or hand it to a colleague who does not write code, it needs to become CSV.

Nothing you paste or upload is sent anywhere. The JSON is parsed, flattened and re encoded as CSV entirely inside your browser using ordinary JavaScript, so a customer export containing names and email addresses stays on your machine the whole time. That makes this a genuinely free way to convert json to csv without a file size cap, a signup wall or a queue behind a paid tier.

When you should convert JSON to CSV

The decision usually comes down to who consumes the data next. If the next step is a person opening a spreadsheet, filtering rows, building a pivot table or emailing a report to a manager, CSV is the right shape. If the next step is another program reading the file, JSON typically stays the better format because it preserves types, nesting and null values exactly.

API responses are the most common source. A REST API returning a list of orders, users or products hands back a JSON array, and pulling that into a spreadsheet for analysis is one of the most frequent reasons people search for a way to convert json to csv in the first place.

  • Convert to CSV when the data needs to open in Excel, Google Sheets or Numbers.
  • Convert to CSV when you are handing data to someone who does not read JSON.
  • Convert to CSV before importing into a database tool that expects tabular input.
  • Keep JSON when another program will parse the file programmatically.
  • Keep JSON when the structure is deeply nested and does not flatten into meaningful columns.

How flattening nested JSON objects into CSV columns works

Flattening is the step that makes nested JSON usable in a spreadsheet. When you flatten nested json objects, every nested key is joined to its parent key with a dot, so a record like address containing city becomes a single column named address.city. The value sits directly in that column instead of being buried inside a block of text that a spreadsheet cannot filter or sort.

Arrays are flattened the same way, using the index as the next segment of the column name. A tags field holding two entries becomes tags.0 and tags.1 as two separate columns rather than one column holding a JSON encoded string. This keeps every individual value queryable, at the cost of producing more columns when records contain long arrays, which is the normal tradeoff for turning nested data into a flat table.

Turning flattening off is useful when a nested field genuinely should stay as one JSON string column, for example a settings object that a downstream script will parse back into an object rather than read as separate spreadsheet columns.

Choosing a delimiter and a quoting style

The json to csv converter defaults to a comma, which is what almost every spreadsheet program and CSV parser expects. Choose semicolon when your target application or locale uses commas as a decimal separator, since many European spreadsheet configurations treat a comma delimited file as broken. Tab separated output is the safest choice when values are likely to contain commas themselves, and pipe is common in legacy data pipelines.

Quoting follows RFC 4180 by default: a field is wrapped in double quotes only when it contains the delimiter, a quote character or a newline, and any quote inside the value is doubled. Turning on quote every field is a defensive option for downstream tools that mishandle unquoted numeric looking strings, at the cost of a slightly larger file.

How this JSON to CSV converter works in your browser

Because the json to csv converter runs entirely in the browser, the whole pipeline is three plain JavaScript steps with no network request involved. JSON.parse turns the text into a live object, a recursive flattening pass walks every key and builds the column list, and a string builder assembles each row with the correct quoting before it is offered to you as a downloadable file.

That architecture has a direct privacy consequence worth stating plainly: your data cannot leak to a server because it never reaches one. You can confirm this yourself by opening your browser's network panel and running a conversion while watching it stay empty. It also means there is no practical size limit beyond what your own device's memory can hold, since the computation is entirely yours.

Converting a JSON array to CSV from an API response

Converting a json array to csv from a live API is identical to converting a saved file. Copy the response body from your browser's developer tools or from a tool like curl, paste it into the box above, and convert. Every object in the array becomes one row, and the column list is built from the union of keys across every object, so records with slightly different shapes still line up correctly with empty cells where a key was missing.

Developers frequently ask how to export json as csv straight from a backend endpoint without writing a script. Pasting the raw response here is usually faster than writing a one off conversion script, especially for a one time export or a debugging session where the data will only be looked at once.

Batch converting large JSON exports

A single paste or upload can hold thousands of records. The json to csv converter processes every object in the array in one pass, builds the full column list first, then writes every row against that fixed header, so the resulting file has consistent columns from the first row to the last even when later records introduce new keys.

Very large exports, in the tens of megabytes, are limited only by how much text your browser tab can hold in memory. For anything beyond that, splitting the JSON array into smaller chunks before pasting keeps the conversion fast and keeps the browser tab responsive while it works.

JSON compared with CSV at a glance
PropertyJSONCSV
StructureNested, arbitrary depthFlat rows and columns
Typed valuesPreserves numbers, booleans, nullEverything is text unless re parsed
Best forAPIs, config files, programsSpreadsheets, reports, people
Readable by non developersDifficult at scaleOpens directly in a spreadsheet
Handles arrays of objectsNativelyOnly after flattening

How to convert JSON to CSV

  1. 1

    Add your JSON

    Paste a JSON array or object into the text box, or drop a .json file onto the upload area. Nothing leaves your device.

  2. 2

    Pick a delimiter

    Choose comma, semicolon, tab or pipe depending on where the CSV file is headed next.

  3. 3

    Set flattening and quoting

    Leave flattening on to turn nested objects into dot notation columns, and turn on quote every field if a downstream tool needs it.

  4. 4

    Convert and download

    Press convert, review the row and column counts, then download the CSV file or copy it straight to your clipboard.

Related tools worth bookmarking

Sources and further reading

Frequently asked questions

Common questions about the json to csv converter.

Yes. There is no signup, no file size cap enforced by the tool and no limit on how many times you can convert. The conversion runs in your browser rather than on a paid server, which is what makes offering it for free sustainable without a usage quota.

Yes, with flattening turned on every nested object becomes dot notation columns and every array becomes numbered columns. Turn flattening off if you would rather keep a nested field as a single column holding raw JSON text for a downstream script to parse.

The column list is built from every key found across every object in the array, so a record missing a field simply gets an empty cell in that column rather than causing an error or misaligning the rest of the row.

Yes. Semicolon, tab and pipe are all available alongside the default comma. Semicolon is worth choosing for spreadsheet locales that use a comma as a decimal separator, since those configurations often misread comma delimited files.

No. Any field containing the delimiter, a double quote or a line break is automatically wrapped in quotes and any embedded quote is doubled, following the RFC 4180 quoting rule, so commas and quotes inside your data cannot corrupt the column structure.

No. Parsing, flattening and CSV encoding all happen locally in your browser using JavaScript. There is no server side processing step, so a file containing customer data or credentials is never transmitted to us or to anyone else.