JSON ↔ CSV Converter

Turn JSON arrays into CSV rows and CSV data back into JSON.

Runs locally in your browser. Your input is not uploaded or stored. You can verify this in your browser’s network panel.

What does this tool solve?

Convert a JSON array of flat objects into CSV with a header row. CSV → JSON is retained as a clearly marked LessInAI extension; the corresponding IT Tools page is JSON → CSV only.

What examples should you start with?

JSON to CSV

Input

[{"name":"ada","role":"admin"},{"name":"grace","role":"dev"}]

Output

name,role
ada,admin
grace,dev

CSV to JSON

Input

name,role
ada,admin

Output

[
  {
    "name": "ada",
    "role": "admin"
  }
]

Escaping

Input

[{"note":"a,b"},{"note":"say \"hi\""}]

Output

note
"a,b"
"say ""hi"""

How does it work?

JSON → CSV unions the keys of all rows into one header; missing keys become empty cells. Cells containing commas, quotes, or line breaks are quoted, and inner quotes are doubled.

CSV → JSON treats the first row as headers and every following row as an object. All values stay strings — CSV has no type system.

What are the edge cases and limits?

  • Nested objects and arrays cannot be flattened into CSV cells and are rejected with an error.
  • All CSV values come back as strings, including numbers and booleans.
  • Ragged rows (fewer cells than headers) get empty strings for the missing cells.
  • The IT Tools-aligned output uses LF line endings; CSV → JSON and stricter RFC 4180 handling are local extensions.

Technical reference

Related tools