Local browser utility

JSON to CSV

Convert JSON into CSV in your browser, taking columns from every record rather than the first, flattening nested objects, and quoting fields correctly.

Columns are the union of every object’s keys, not just the first one’s, so a record that gains a field later still gets a column. Any value containing the delimiter, a quote or a line break is quoted automatically.

Questions About This Tool

What happens to nested objects?

They are flattened into dotted column names by default, so a user object becomes user.name and user.city. Turning flattening off embeds the whole object as JSON inside one column instead. Neither option discards anything.

Why are some fields quoted and others not?

A field is quoted only when it has to be: when it contains the delimiter, a double quote, or a line break. Quoting everything is legal but makes the file harder to read, so the tool applies the minimum the specification requires.

What if my records do not all have the same fields?

The columns are the union of every record’s keys, so nothing is lost. Records missing a column get an empty field and are listed underneath the output with the field they lacked.

Should I use CRLF or LF line endings?

RFC 4180 specifies CRLF and some Windows tooling requires it. Everything else is generally happier with LF, which is the default here. If an import produces one giant row, the line endings are the first thing to check.

Can I convert the CSV back to my original JSON?

You can convert it back to JSON, but not to the original structure. Nesting has become dotted column names, arrays have become JSON text in cells, and types are re-inferred rather than remembered. Use JSON end to end if the shape matters.

Is my JSON uploaded anywhere?

No. Parsing and conversion happen in your browser. There is no upload and no server copy, which you can confirm in the network tab.