Skip to content

Developer · Tools

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.

Continue with JSON Formatter & Validator, YAML ↔ JSON Converter

What examples should you start with?

JSON to CSV

Input
JSON
[{"name":"ada","role":"admin"},{"name":"grace","role":"dev"}]
Output
CSV
name,role
ada,admin
grace,dev

CSV to JSON

Input
CSV
name,role
ada,admin
Output
JSON
[
  {
    "name": "ada",
    "role": "admin"
  }
]

Escaping

Input
JSON
[{"note":"a,b"},{"note":"say \"hi\""}]
Output
CSV
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