oftenoriginal

Free JSON to CSV Converter — Flatten Nested JSON Online

Convert JSON to CSV entirely in your browser: arrays of objects become spreadsheet-ready rows and nested fields flatten to dot-notation columns, with proper quoting for Excel and Google Sheets. Copy or download the CSV free — go Pro for CSV to JSON, custom delimiters, Excel-safe export, JSON Lines input, and a 25 MB cap.

Up to 1.0 MB on your plan
CSV output

Paste a JSON array of objects - nested fields flatten to dot-notation columns.

Output options Pro

Free converts unlimited comma-CSV up to 1.0 MB per paste. Pro unlocks CSV → JSON, tab/semicolon/pipe delimiters, Excel mode, JSON Lines, and a 25.0 MB cap.

Runs 100% in your browser — the data you paste never leaves your device.

How to convert JSON to CSV without losing your nested data

The shape converters trip over is nesting: JSON is a tree, CSV is a flat table. Paste an array of objects above and each object becomes a row, while nested fields flatten into dot-notation columns - so { "contact": { "city": "London" } } turns into a contact.city column. Rows don't need matching keys: the converter takes the union of every column it sees, in first-seen order, and leaves missing cells blank. Arrays inside a value are embedded as JSON strings rather than exploded into extra rows, so one input record is always exactly one CSV row - no silently multiplied data. Conversion runs entirely in your browser; nothing you paste is uploaded anywhere.

Fields that contain commas, quotes, or line breaks are quoted and escaped to the CSV standard (RFC 4180), so the file opens correctly in Google Sheets, Excel, Numbers, and pandas. If Excel shows garbled characters for accents or emoji, that's a known Excel quirk with plain UTF-8 - the Pro "Excel-compatible" option prepends a UTF-8 byte-order mark and switches to CRLF line endings, which makes Excel render everything correctly on double-click.

A few practical tips. If your data is a log export with one JSON object per line (NDJSON / JSON Lines), it isn't valid JSON as a whole - the converter detects this and the JSON Lines option parses it line by line. A single object (not an array) converts as one row, which is handy for quickly tabulating an API response. And numbers like 007keep their leading zeros when converting CSV back to JSON, because they stay strings unless they're unambiguously numeric.

Working with API data often pairs with two sibling tools: once your JSON is tabulated, generate a validated TypeScript schema for the same payload with the JSON to Zod schema converter, and if the data comes from a scheduled export job, double-check the schedule with the cron expression generator. Need the sheet shared with a campaign team? Tag the link first with the UTM builder.

Last updated July 2026.

Free to use. Pro when you need more.

One oftenoriginal Pro membership unlocks the pro features on every tool.

Free

$0
  • Paste JSON, get CSV instantly — up to 1 MB per paste
  • Nested objects flatten to dot-notation columns
  • Mismatched keys handled — union of all columns
  • RFC 4180 quoting for commas, quotes & line breaks
  • Copy CSV or download as a .csv file
  • No sign-up required

oftenoriginal Pro

$9/month
  • Everything in FlatCSV, unlocked
  • CSV → JSON reverse conversion with type inference
  • Tab, semicolon & pipe delimiters
  • Excel-compatible export (UTF-8 BOM + CRLF)
  • JSON Lines / NDJSON input
  • 25 MB input cap (25× the free limit)

FlatCSV — frequently asked questions

How does this JSON to CSV converter handle nested objects?+

Nested objects flatten into dot-notation columns, so { "user": { "city": "London" } } becomes a user.city column. Arrays inside a value are embedded as JSON strings instead of being split into extra rows, so one input record always stays one CSV row.

Can it convert CSV back to JSON?+

Yes — CSV to JSON is a Pro feature. The header row becomes the JSON keys, quoted fields and embedded line breaks are parsed correctly, and numbers, booleans, and nulls are restored while leading-zero values like 007 stay strings.

Why does Excel garble accented characters in my CSV?+

Excel expects a UTF-8 byte-order mark before it will decode plain UTF-8 correctly on double-click. The Pro Excel-compatible option adds the BOM and CRLF line endings so accents and emoji open cleanly.

Is my JSON or CSV data uploaded anywhere?+

No. Parsing and conversion happen entirely in your browser — the data you paste never leaves your device, which makes it safe for exports containing customer or internal data.

More free tools from the oftenoriginal toolbox — no sign-up required.

Get new free tools monthly

We ship a new free tool nearly every day. Get the best of the month in one short email.

One email a month, only when new tools ship. Unsubscribe anytime.