Free CSV to JSON Converter (and Back)

Paste CSV to get JSON, or JSON to get CSV — quoted fields, embedded commas, and nested objects handled.

CSV input
JSON output
[
  {
    "name": "Alice",
    "role": "Engineer",
    "city": "Berlin"
  },
  {
    "name": "Bob",
    "role": "Designer",
    "city": "Lisbon"
  }
]

How to use / FAQ

Choose a direction, paste your data, and the conversion happens as you type. CSV → JSON turns each row into an object keyed by the header row; JSON → CSV turns an array of objects into a spreadsheet-ready table. Quoted fields, embedded commas and newlines, and nested objects are all handled.

How does CSV to JSON handle the header row?

By default the first row is treated as the field names, and every following row becomes a JSON object keyed by those names. Turn the header option off to get a plain array of arrays instead — useful when your CSV has no header. Working with YAML instead of CSV? See the YAML ↔ JSON converter.

What happens to nested objects when converting JSON to CSV?

CSV is flat, so nested objects are flattened using dot-notation keys — {"user":{"name":"Al"}} becomes a user.name column. Arrays are written as their JSON string so no data is lost.

Are values converted to numbers?

CSV → JSON keeps every value as a string, because CSV has no type information and guessing can corrupt things like ZIP codes or IDs with leading zeros. Convert types yourself afterward if you need real numbers.

Is my data uploaded anywhere?

No. Parsing and conversion run entirely in your browser, so even large or sensitive spreadsheets never leave your device.