Skip to content

JSON to CSV converter

Paste an array of flat rows. Nested objects and arrays are errors.

Numbers and booleans are written as text. null becomes an empty field. Nested values stop the conversion.

Ctrl+Enter or ⌘+Enter runs this tool immediately.

JSON input
CSV output

Waiting for input.

Parsing stays in this browser. Input is not uploaded or saved.

How to use this tool

  1. Paste a JSON array. Each item should be an object with the same keys, or an array of scalars.
  2. Read the notice when a number or boolean was written as text.
  3. Copy or download only when the status says the conversion succeeded.

Supported formats and limitations

  • The root value must be an array. An object at the root is rejected.
  • Object rows must share the first row's keys. A missing or extra key is an error.
  • A nested object or array is rejected. This tool does not invent a JSON-in-a-cell format.
  • null becomes an empty field. Numbers and booleans become text, and the status says so.
  • Commas, quotes, and line breaks in a field are quoted. An interior quote is doubled.

Examples

A comma in a city

The field is quoted so the comma stays inside it.

[{"city":"New York, NY"}]

An array of arrays

Scalar rows become CSV without a header invented from keys.

[["Ada","London"],["Grace","Paris"]]

Common errors and solutions

Nested value
Flatten the object or array into columns before converting.
Row keys differ
Give every object the same keys. Use null for a missing value if you want an empty field.
The root is not an array
Wrap one object in an array if it is a single row.

FAQ

Can I put a nested object in a cell?
No. The conversion stops and names the path. It does not stringify the object into the cell.
What happens to true and 1?
They are written as the text true and 1. CSV does not keep JSON types.
Is the JSON uploaded?
No. Conversion happens in your browser.

Related tools

  • CSV to JSON converter

    Convert RFC 4180 CSV to JSON in the browser. Quoted commas and newlines are kept, and duplicate headers are rejected.

  • JSON formatter

    Validate JSON, then pretty-print it with 2 or 4 spaces or minify it. Invalid JSON produces an error and leaves the output empty.

  • JSONPath tester

    Test a JSONPath expression against a JSON document in the browser. Script expressions are disabled, and a path that matches nothing returns an empty list.