Skip to main content
Tools Harbor

JSON to CSV Converter

Convert JSON arrays into CSV and vice versa — with header detection.

Direction

Move tabular data between JSON and CSV

CSV is the universal spreadsheet interchange format; JSON is the universal programming interchange format. You end up converting between them constantly — pasting a CSV export from Excel into an API, or exporting an API response to share with a non-technical teammate. This converter handles both directions locally in your browser.

JSON → CSV

Paste an array of objects. The tool infers the header row from the keys of the first element, then emits one row per element. Missing keys in later objects produce empty cells.

Example input:

[
  { "name": "Alice", "age": 30, "city": "Bengaluru" },
  { "name": "Bob",   "age": 25, "city": "Mumbai" }
]

Output:

name,age,city
Alice,30,Bengaluru
Bob,25,Mumbai

CSV → JSON

Paste a CSV block. The tool uses the first row as headers and returns an array of objects. Values are returned as strings — type conversion for numbers and booleans is up to you.

Why browser-based?

Because tabular data often contains private information — customer lists, transaction logs, internal dashboards — uploading it to a random online converter is a real risk. Running the conversion in your browser avoids the round trip entirely.

Frequently asked questions

What JSON shape does the converter expect?
It expects an array of flat objects, like `[{"name":"Alice","age":30},{"name":"Bob","age":25}]`. The keys of the first object become the CSV header row; each subsequent object becomes one row.
How does it handle nested objects and arrays?
Nested values are JSON-stringified into the cell. For complex structures, it is usually better to flatten your JSON first (e.g., replace nested objects with dot-joined keys).
Will my data be uploaded anywhere?
No. Both directions run entirely in your browser. Nothing is sent to a server, stored, or logged.