Skip to content

Convert JSON to CSV

Turn API responses, exports and JSON Lines into a CSV that opens cleanly in Excel — the records found for you, nested fields flattened into readable columns, and large IDs kept digit for digit.

  • Processed on your device
  • No upload, no waiting
  • No signup, no watermark

How it works

1

Add JSON

Drop a .json or .jsonl file, or paste the JSON straight into the box.

2

Pick the records

The list of records is found automatically, even deep inside data.items. Choose how arrays are written and check the preview.

3

Download

A CSV with the delimiter and encoding you need, ready for Excel, Google Sheets or a database.

Frequently asked questions

How does nested JSON become columns?

Each nested field becomes one column named by its path: {"address": {"city": "Oslo"}} gives a column address.city. Columns appear in the order they first occur in your data, not alphabetically, and records missing a field simply leave that cell empty.

What happens to arrays?

You choose: join the values into one cell ("red; green"), spread them across numbered columns (tags.0, tags.1), keep them as JSON text, or — for an array of objects such as order lines — write one row per item with the parent fields repeated.

Are large numbers kept exactly?

Yes. IDs beyond what JavaScript can represent — Twitter, Discord and 64-bit database IDs — are copied digit for digit, where most converters silently round 1234567890123456789 to 1234567890123456800.

Is JSON Lines (NDJSON) supported?

Yes. A file with one JSON object per line is recognised automatically, and every line becomes a row.

What if my JSON has an error?

You get the exact line and column with the offending text highlighted, and a plain explanation — for example a trailing comma, or single quotes copied from JavaScript code.

Is my data uploaded?

No. The JSON is read and the CSV written entirely in your browser; nothing is sent anywhere.

Good to know: Only one array of objects can be expanded into rows at a time; other arrays are written into their cell. Very large files are limited by your browser's memory.