or drop .json, .jsonl or .ndjson here

Options

Comma, LF line ends, no marker.

  • 100% Free
  • No Sign-Up
  • No Credit Card
  • No Free Trial
  • No Pro Tier
  • No Watermarks

Nothing is uploaded. Just open it and start.

Convert JSON to CSV in your browser

Free, no sign-up, no credit card, no trial. Paste JSON or drop a file, flatten nested objects or make a row per item, pick your columns, and export a clean CSV or .xlsx. Nothing is uploaded.

Paste or drag and drop

Paste JSON or JSON Lines, or drop a file; big files convert in the background without freezing the page.

Full control over the output

Excel presets, .xlsx, rows from any list, one row per item, a column picker, and formula-safe cells.

Live preview table

See exactly what your CSV looks like as a table before you download it, with row and column counts.

Private & client-side

Nothing leaves your browser. No server round trip, ever.

Frequently asked questions

How do I convert JSON to CSV?
Paste your JSON into the editor, or open or drop a .json, .jsonl or .ndjson file. The tool validates it, converts it, and shows a live preview table; then copy the CSV or download it as a .csv or .xlsx file named after your file. Big files are converted in the background with a Cancel button.
What JSON shapes are supported?
An array of objects converts to one CSV row per object, and JSON Lines (one object per line) works too. When the rows sit inside a response like { "data": { "items": [...] } }, they're found automatically, or you pick the list under "Rows from". Objects with different or missing fields get a column for every field seen; the preview shows a dash where a record has no such field.
What does "flatten nested objects" do?
When on, a nested object like { "address": { "city": "NY" } } becomes its own column named address.city; when off, it's kept as JSON text in one cell. Lists can be JSON in one cell, numbered columns (tags.0, tags.1), or one row per item with the other fields repeated, which is how order lines become a table. If two fields would print as the same column name, the second gets " (2)" and a warning, so nothing is overwritten.
Will the CSV open correctly in Excel?
Choose the Excel preset: it adds the UTF-8 marker Excel needs to show accents and emoji, and uses Windows line ends; "Excel (Europe)" uses semicolons for Excel set to a comma decimal. You can also download a real .xlsx file. Cells starting with = + - or @ get an apostrophe so a spreadsheet won't run them as formulas (you can turn this off).
Can I choose, rename or reorder the columns?
Yes. The Columns list lets you untick columns, rename them and move them up or down, and you can choose how null values are written (empty, null or NULL).
What are the delimiter and quoting options for?
Delimiter picks the character that separates columns — comma, semicolon, tab, or pipe — useful for spreadsheet apps or locales that expect something other than a comma. "Quote every value" wraps every cell in double quotes; left off, only values that need quoting (containing the delimiter, a quote, or a newline) are quoted.
What happens if my JSON is invalid?
The tool points at the exact line and column of the syntax error (a missing value or a trailing comma included), or explains why the JSON's shape can't become CSV, and offers to open it in the JSON Formatter to fix it. When the CSV is ready, "Convert back" opens it in CSV to JSON.
Is anything uploaded to a server?
No. Your JSON, and the CSV generated from it, never leave your browser — nothing is uploaded or stored. It's free with no sign-up.

Spotted a bug or have a suggestion?

Found something broken, have an idea, or just want to say thanks about any of our tools? Every message reaches a real person.