JSON to CSV Converter

Add a .json file that holds a list of flat records and get a CSV back. Nested values and a single top-level object are not supported.

To convert json to csv, add a .json file whose top level is an array of flat objects, keep CSV as the output and download the result. In our test, a 590 B file with 5 records became a 220 B csv with a header row and 5 data rows. A file with a nested object failed.

Transfers use HTTPS, and files converted on the free tier are deleted after 24 hours, so the result is not a long-term archive. Quality depends on the source file, so open the CSV file once before you share it.

FromJSONLossless

JSON (JavaScript Object Notation)

A text format for structured data built from objects, arrays, strings, numbers, true, false and null. It has no comments and no date type, and it forbids NaN and Infinity. It must be UTF-8 when exchanged between systems, and it is the usual format for web APIs. It is defined by RFC 8259 and ECMA-404, and files end in .json.

ToCSVLossless

CSV (Comma-Separated Values)

Comma-separated values, a plain text format in which each line is a row and a delimiter separates the fields. It has no data types, no styling and no official single standard, although RFC 4180 describes the most common conventions.

A flat JSON file of 5 records and 6 keys, 590 B, converted on indox.org

JSONthe original, 5 records, 6 keys
590 B
CSVfrom indox, header plus 5 rows, 6 columns
220 B
Measured on indox.org on 4 November 2026: the JSON file we uploaded and the CSV we downloaded. The CSV had 6 lines, a header and 5 records, with no BOM and LF line endings.

Why use indox to convert JSON to CSV?

Header, quoting and UTF-8 handled for you

The column names come from the keys of the first object. Fields with commas, quotes or line breaks are wrapped in double quotes, and accents, Arabic and Japanese text came through intact in our test.

Nothing to install, no script to write

The conversion runs on indox servers, so it works from any browser on Windows, Mac or a phone. We used it without an account. If you only need one export, you can skip writing Python, jq or PowerShell.

A plain answer about nested data

Most API responses contain nested objects or lists. This converter does not flatten them, and this page says so before you upload. A nested test file failed in our run.

What happens to your JSON

Stays

  • Your original .json file, which is not touched
  • The values, including accents and Arabic or Japanese text
  • Commas, quotes and line breaks inside fields, written in quotes
  • The order of the records

Changes

  • Structure: objects become rows and the first object's keys become the header
  • Types: numbers, booleans and null become plain text, with null as an empty cell
  • Numbers: 8.0 became 8 and 1.50 became 1.5 in our test
  • Nesting: nested objects and lists are not supported and the conversion fails
  • File size: 590 B became 220 B in our test, because keys are written once

How do I convert JSON to CSV online?

  1. 1

    Check that your JSON is a flat list

    The top level must be an array, and each item must be an object whose values are strings, numbers, booleans or null. Open the file in a text editor and look for braces or square brackets inside the values.

  2. 2

    Add the file and start the conversion

    Drop the .json file on the box or choose it from your device, keep CSV as the output and start. In our test it took 3.2 seconds from the click to Completed.

  3. 3

    Download the CSV and open it

    Save the file and look at the header and a few rows. If you open it in Excel and non-English letters look broken, import it through Data, From Text/CSV and pick UTF-8 as the file origin.

What do I get from indox's JSON to CSV converter?

You hand over a JSON array of flat records and take away a CSV that follows the quoting rules of RFC 4180, ready for a spreadsheet, a database import or a BI tool. The page states which JSON shapes fail, so you find out before you upload.

  • A header row built from your own keys
  • Commas, quotes and line breaks inside fields quoted correctly
  • Accents, Arabic and CJK text kept in UTF-8
  • Unsupported shapes named up front, with a flatten-first route
The indox JSON to CSV converter: drop a file or choose one to convert it to CSV

What are the limits for JSON to CSV?

Size

The upload box shows the live size limit before you add a file. Signing in raises it; a paid plan does not change it.

Formats

JSON in, CSV out. Pick another output on the converter if you need a different format.

Privacy

Files are encrypted in transit over HTTPS and processed on indox infrastructure.

Deletion

Free-tier files are kept for 24 hours after the job finishes, then deleted automatically.

Limits worth knowing

  • The top level must be an array of objects. A single object, an object that wraps the list under a key, or an array of plain values or arrays is not supported by the engine behind this converter. We saw this in a local test of the engine, not on indox.org.
  • Nested objects and lists fail. Our nested test file, 239 B with one nested object and one list, showed Failed about 2.1 seconds after the click. The row showed no error text and no download.
  • The header comes from the first object only. In a local test of the engine, a key that appears only in a later object was dropped without a warning, and a later object missing a key made the conversion fail. Give every object the same keys.
  • The engine could not read a file that starts with a UTF-8 byte order mark, or an integer larger than the 64-bit range, in the same local test. Save the file without a BOM, and write very large IDs as strings.
  • There are no options. We saw no delimiter, header or quoting setting, so the output is always a comma-separated file with a header row. We did not measure a file size limit; our test files were under 1 KB.

When the result is not what you expected

What you seeWhyWhat to do
The row shows Failed and nothing downloadsThe file has a nested value, a top-level object or another unsupported shape. The row gave no reason in our testCheck for braces or brackets inside values and flatten them, then convert again
A single object does not convertThe engine needs a list of records at the top levelWrap the object in square brackets, or use the array inside it
Columns are missing from the CSVThe header comes from the first object, and keys found only later are droppedGive every object the same keys, with null where there is no value
Letters look broken in ExcelThe CSV is UTF-8 without a byte order markImport it with Data, From Text/CSV and choose UTF-8. For more tables, see XLSX to CSV
Nothing converts and the file starts with odd bytesA UTF-8 byte order mark at the start of the JSON stopped the engine in a local testSave the JSON as UTF-8 without BOM and try again

What do the free and paid plans add?

Free

  • All converters
  • Daily credit refresh
  • Email support

Basic

  • Access to all features
  • AI Extract
  • Priority conversions
  • Email support
Highest priority

Premium

  • Everything in Basic
  • Highest priority queue
  • Priority support

Pay-As-You-Go

  • No subscription
  • Credits never expire
  • Opt-in auto-refill
  • Access to all features
See prices

JSON vs CSV: what is the difference?

Compared onJSONCSV
StructureObjects and arrays can nest to any depthFlat rows and columns only
Data typesStrings, numbers, true, false and nullText only, no types
HeaderKeys are stored with every valueOne optional header row
Where it opensAPIs, code and editorsSpreadsheets, databases and BI tools
Typical useExchanging data between programsAnalysing and importing tabular data

Who can use a JSON to CSV converter?

  • Analysts with an API export

    You saved a JSON response and want to filter and sum it in a spreadsheet. If the records are flat, this gives you a CSV in one step. If they are nested, flatten them first, or the conversion will fail.

  • Developers who need a one-off export

    You do not want to write a script for a single file. Add the file, check the first rows of the CSV, and move on. For a repeating job, a script in your own pipeline is the better tool.

  • Admins preparing a database or BI import

    Many import tools take CSV and not JSON. A flat JSON export becomes a CSV with a stable header, and quoted fields keep commas and line breaks inside their cells.

When to use it

  • Opening a list of users, orders or log records from an API in Excel or Google Sheets.
  • Preparing a flat JSON export for a database or BI import that accepts CSV only.
  • Sharing a small data set with a colleague who does not read JSON.
  • Checking the keys and values of a JSON file as a table, row by row.

Where can I read more about converting files?

Do it all with indox

View all 94 tools

JSON to CSV FAQs

How do I convert JSON to CSV?

Add a .json file whose top level is an array of flat objects, keep CSV as the output and download the result. The first object's keys become the header row.

What happens to nested objects and arrays?

They are not flattened, and the conversion fails. In our test, a file with a nested object and a list showed Failed with no download and no error text. Flatten the data first, for example into one value per key, then convert it.

What if my objects have different keys?

The header is taken from the first object. In a local test of the engine, keys that appear only in later objects were dropped, and a later object missing a key made the conversion fail. Add the missing keys to every object, using null for no value.

Why does Excel show broken characters in my CSV?

The CSV we downloaded is UTF-8 without a byte order mark. Excel can then read it as another encoding. Open it through Data, From Text/CSV and choose UTF-8 as the file origin. We did not test Excel itself.

Why does a single JSON object not convert?

The engine expects a list of records at the top level. Wrap your object in square brackets to make a one-item array, or take the array out of the wrapping object before you convert.

Does it work for large files?

We did not measure a size limit or the speed on large files. Our sample files were 590 B and 239 B. Keep in mind that Excel itself stops at 1,048,576 rows per sheet.

Are commas and quotes inside values handled?

Yes. In our test, a name with a comma and inner quotes was written in double quotes with the quotes doubled, and a field with a line break was quoted too, as RFC 4180 describes.

Can I convert CSV back to JSON, or script this instead?

This page converts in one direction only. If you need the same conversion many times, a short script with Python, jq or PowerShell in your own environment gives you control over nesting and column names.