LocalFirstTools.com — data tools that never leave your device
No upload — everything runs on your device

JSON ↔ CSV Converter

Turn arrays of objects into CSV rows and back again. Nothing is uploaded.

The JSON ↔ CSV Converter follows RFC 4180 quoting and auto-detects comma, semicolon and tab delimiters; on 7 tabular sample documents, pretty-printed JSON weighed 2.9× the CSV bytes.

JSON (array of objects)
CSV
Delimiter is auto-detected when reading CSV

What does the JSON ↔ CSV do?

This converter turns a JSON array of objects into CSV rows you can open in Excel or Google Sheets, and turns CSV back into JSON for APIs and scripts. The header row becomes the object keys, and each following row becomes one object.

How does the JSON ↔ CSV work?

JSON → CSV collects the keys of every object as columns, quotes fields that contain the delimiter, quotes or line breaks, and joins rows with the delimiter you pick. CSV → JSON auto-detects comma, semicolon or tab, honors quoted fields per RFC 4180, and can detect numbers, booleans and null. Everything runs in this tab.

Does this upload my JSON?

No. This page never sends your input to a server — formatting, decoding and hashing all run in this tab, on this device.How that works.

Frequently asked questions

What JSON shape can become CSV?

An array of objects, where each object is one row. A single object becomes a one-row CSV. Nested objects or arrays inside a cell are stored as a JSON string in that cell.

My CSV uses semicolons — does that work?

Yes. When reading CSV the delimiter is detected from the header row, so semicolon-separated files from Dutch or German Excel installs convert without changes. For JSON → CSV you pick the delimiter yourself.

What does Detect types do?

With it on, cells that look like numbers, true, false or null become those JSON types. With it off, every cell stays a string — safer for postal codes, phone numbers and IDs with leading zeros.

How are commas and quotes inside a value handled?

Per RFC 4180: the field is wrapped in double quotes and any quote inside it is doubled. Reading does the reverse, so values round-trip unchanged.

Related tools

Browse alljson toolsor thefull tool directory.