🧰 Developer tools

JSON to CSV converter

Paste a JSON array of objects. Every key becomes a column and each object becomes a row.

Free · no signup Runs in your browser

Result—

    How do I convert JSON to CSV?

    Paste a JSON array of objects into the box. The tool collects every key it finds, in order of first appearance, as the CSV columns, and writes each object as a row, quoting any value that contains the delimiter, a quote or a line break. Nested objects and lists are written as JSON text in their cell. Choose a comma, semicolon, tab or pipe, and add the Excel marker if the file has accented letters.

    Getting a spreadsheet-ready file

    Most JSON from an API or an app is an array of similar objects, which maps naturally onto a table: the keys are the columns and each object is a row. Objects do not all need the same keys; the columns are the union of every key found, and a row that lacks a key gets an empty cell. A top-level object is treated as a single row, and an array of arrays is written line by line as it is.

    Two details decide whether Excel opens the file correctly. The first is the delimiter: Excel set to French or many European languages expects semicolons, because the comma is the decimal mark there, so choose semicolon for those files. The second is the encoding: Excel assumes an old encoding for a plain CSV and shows accents like é as odd characters unless the file starts with a byte-order mark. Tick the Excel option to add it. Line breaks are written as CRLF, which is the form RFC 4180 specifies.

    It runs in your browser. Your data is never uploaded, and there is no sign-up.

    Nested data

    A table is flat, so nested data has to be dealt with. Here a nested object or list is written as JSON text inside its cell, which keeps the information and lets you split it later. If you need each nested key as its own column, flatten the JSON first. To go the other way, use the CSV to JSON converter; to check the JSON first, use the JSON formatter.

    When to use it

    • Opening API or database output in Excel or Google Sheets
    • Sharing JSON data with someone who works in spreadsheets
    • Preparing a list for an import
    • Checking what an export really contains

    Mistakes it helps you avoid

    • Writing values with commas or quotes without quoting them.
    • Missing columns because only the first object's keys were used.
    • Opening a UTF-8 file in Excel without the marker and seeing garbled accents.
    • Using a comma in a locale where Excel expects semicolons.

    The formula

    How the answer is worked out.

    • 1. Parse the JSON; a single object becomes a one-item list.
    • 2. Columns = every key found, in order of first appearance.
    • 3. For each object write one row; a missing key gives an empty cell; nested values become JSON text.
    • 4. Quote a value if it contains the delimiter, a quote or a line break, doubling any quotes; join rows with CRLF.

    The JSON reader follows RFC 8259 and the CSV writer follows RFC 4180. Numbers are written as they appear in the JSON. Very large integers (beyond 15 digits) can lose precision in JSON itself, before this tool sees them.

    Example: two objects with different keys

    The JSON is [{"name":"Ana","age":34},{"name":"Ben","city":"Halifax"}].

    1. Columnsname, age, city
    2. RowsAna,34, · Ben,,Halifax

    A three-column CSV where missing values are empty

    Choose semicolon for Excel in French settings.

    Terms on this page

    Byte-order mark
    An invisible character at the start of a file that tells a program the text is UTF-8.

    Common questions

    How do I open JSON in Excel?

    Convert it to CSV here, then open or import the CSV. Tick the Excel option for accents.

    What happens to nested objects?

    They are written as JSON text in one cell.

    Why are my accents garbled in Excel?

    Add the byte-order mark with the Excel option, or import the file as UTF-8.

    Can the items have different keys?

    Yes. The columns are the union of all keys.

    Is my data uploaded?

    No.

    Is anything I enter sent to a server?

    No. The calculation happens in your browser and nothing you type leaves your device.

    Where these numbers come from

    Last verified 2026-10-25 The method on this page is checked against the sources above at least once a year. Spotted something out of date? Tell us and we will fix it.

    🧰 Developer and web tools

    Small developer and web jobs done in your browser. What you paste or choose is never sent anywhere.

    See all 24 tools in this section