AllOneTools Logo
AllOneTools

JSON → CSV

Convert JSON to CSV online

Flatten any JSON array of objects into a clean CSV. Choose delimiter, header row, and how to handle nested fields. Free, in-browser, no upload.

Last updated:

[object Object]

[object Object]

[object Object]

Open the JSON → CSV converter

Runs entirely in your browser. No signup, no upload.

Launch converter →

Example: JSON → CSV

Input (.json)

[
  { "id": 1, "name": "Alice", "email": "[email protected]", "orders": 3 },
  { "id": 2, "name": "Bob",   "email": "[email protected]",   "orders": 0 },
  { "id": 3, "name": "Ciaran","email": "[email protected]","orders": 12 }
]

Output (.csv)

id,name,email,orders
1,Alice,[email protected],3
2,Bob,[email protected],0
3,Ciaran,[email protected],12

How to convert JSON to CSV manually

Prefer scripting this in a pipeline? Here are the most common CLI and library approaches.

Python with pandas

import pandas as pd, json
pd.read_json('in.json').to_csv('out.csv', index=False)

Node.js with papaparse

const Papa = require('papaparse');
const data = require('./in.json');
require('fs').writeFileSync('out.csv', Papa.unparse(data));

jq one-liner (header + rows)

jq -r '(.[0] | keys_unsorted) as $k | $k, map([.[ $k[] ]])[] | @csv' in.json > out.csv

Frequently asked questions

What if my JSON has nested objects?

We flatten them with dot notation. `{ "user": { "name": "A", "age": 30 } }` becomes columns `user.name` and `user.age`. You can toggle between dot notation and underscore (`user_name`, `user_age`) in the options.

Excel is opening my CSV with everything in one column. Why?

Excel uses the system locale to guess the delimiter — on European systems it expects `;` not `,`. Either re-export with `;` (use the delimiter selector) or use Excel's Data → From Text/CSV import wizard to pick the delimiter explicitly.

How are null values represented?

By default, `null` becomes an empty field. You can toggle this to output the literal string `null` if your downstream tool distinguishes between empty and null.

Does the output include a BOM?

Optional. A UTF-8 BOM helps Excel correctly detect UTF-8 encoding (fixing garbled accented characters), but can break some Unix pipelines. Toggle the BOM switch based on your target consumer.

What about arrays of arrays or mixed schemas?

Arrays of arrays: each inner array becomes a row; the outer index becomes the first column if you want one. Mixed schemas (different keys per object): we take the union of all keys and emit empty fields where a key is missing.

Related tools & guides