Code & Data

Turn JSON into a spreadsheet

Paste an array of objects and get CSV back, ready for Excel, Sheets or anything that reads a spreadsheet. Nested fields are flattened into dotted column names, and the columns come from every row rather than the first.

or paste your own — nothing is uploaded.
CSV

Paste valid JSON above and the result appears here.

  • Runs in your browser
  • No account required
  • Free to use

How it works

01

The columns come from every row

Records with optional fields are normal, and taking the first row’s keys as the column list silently drops every field that happens to be missing from it. The header here is the union of all rows, so nothing disappears because of where it appeared.

02

Nesting becomes dotted columns

CSV has no way to express a nested object, so `{"user": {"name": "Sam"}}` becomes a column called `user.name`. Arrays are indexed the same way. It is the convention spreadsheets and data tools already use, and it round-trips back to the same shape.

03

Quoting follows RFC 4180

A field containing the delimiter, a quote or a line break is wrapped in quotes, and quotes inside are doubled. That is the only escape CSV has, and getting it wrong is what produces files that open with everything in one column.

What it does

Four delimiters

Comma, semicolon, tab or pipe. Semicolon matters for European locales, where Excel treats the comma as a decimal separator and a comma-delimited file opens as one column.

Header row optional

On by default, off for appending to an existing file.

It says when the data has no tabular form

An array of numbers has no columns to go in. Rather than emit something misleading, the tool explains what shape CSV needs.

Your data never leaves the page

API responses, config files and exports are exactly the sort of thing that should not be pasted into someone else’s server. Parsing happens in your browser and what you paste is never transmitted — there is no code here that could send it anywhere, even by accident.

Practical advice

Getting a better result

  • Use semicolons if the file is for Excel in a European locale — a comma-delimited file will otherwise open with every row in a single cell.
  • Deeply nested JSON produces a lot of columns. If the result is unwieldy, extract the array you actually want first.
  • Fields containing line breaks are quoted correctly, but not every spreadsheet imports them well. Worth checking if your data has multi-line text.

Questions

Things people ask

What JSON shape does it need?

An array of objects — one object per row. A single object works too and becomes a one-row file. An array of plain values has no columns to map to, so the tool says so rather than guessing.

How are nested objects handled?

Flattened into dotted column names, so `{"a": {"b": 1}}` becomes a column `a.b`. Arrays become indexed columns like `tags.0` and `tags.1`.

What happens to rows with different fields?

Every field from every row gets a column, and rows without that field get an empty cell. This is deliberate — using only the first row’s fields would silently drop data.

Who builds these

Free tools by day. Websites that earn their keep by trade.

KuConvert is built by KUDUY, a web design and development agency. From custom WordPress builds to SEO and e-commerce, everything they do is engineered to bring you more qualified traffic and turn it into revenue.

  • Fixed scope, no surprise invoices

    Most sites ship in four to eight weeks with the scope and the price agreed up front.

  • SEO from day one

    Search is designed into the build — structure, schema and Core Web Vitals — not retrofitted.

  • A team, not a ticket queue

    A project manager, a designer and a developer you can actually reach.

Need your whole site to load this fast?

Images are usually the heaviest thing on a page and the easiest win. KUDUY works on site speed, image delivery and Core Web Vitals for teams who would rather not do it by hand.

This tool runs entirely in your browser. Your files are never uploaded.