CSV to JSON Converter

Paste a CSV table and get a clean JSON array of objects — the header becomes the keys, every row becomes an object, with a copy button and no upload.

  • Free
  • No account
  • Runs in your browser
  • Nothing uploaded
CSV to JSON ConverterNothing uploaded
66 characters
JSON3 rows · 3 columns
[
  {
    "name": "Alice",
    "age": "30",
    "city": "Paris"
  },
  {
    "name": "Bob",
    "age": "25",
    "city": "London"
  },
  {
    "name": "Carol",
    "age": "41",
    "city": "New York, NY"
  }
]

Runs entirely in your browser — your input is never uploaded, logged, or stored.Privacy policy

What is CSV to JSON Converter?

CSV and JSON are both text formats for tabular data, but they serve different audiences. CSV is what spreadsheets speak: a header row of column names, then one comma-separated row per record. Every spreadsheet, analytics tool, and database export can produce it, which makes CSV the universal way data leaves Excel, Google Sheets, and reporting dashboards. JSON is what code speaks: a nested structure of objects and arrays that JavaScript, Python, and the APIs between them read natively. When you export a report as CSV and need to load it as data, or take a spreadsheet and shape it into a payload for an API, you have to get the table into object form.

This tool does that for you. You paste CSV, and it reads the header row as the column names, then turns every row below it into one JSON object keyed by those names — producing an array of objects you can paste straight into code, a database import, or a script. It handles the fiddly cases too: quoted fields that contain commas, quotation marks, or line breaks are decoded correctly, and line endings don't matter. Nothing is uploaded; the conversion runs entirely in your browser.

The reverse is covered as well — the JSON to CSV Converter turns an array of objects back into a table — so the pair of tools lets you move data between spreadsheets and JSON without writing conversion code by hand.

The tool splits the CSV into its rows and fields, honouring RFC 4180 quoting so that a field wrapped in double quotes is read as one value even when it contains a comma or a line break, and a pair of double quotes inside a quoted field means one literal quote. Once the grid is parsed:

• The first row becomes the header — each cell is a JSON key. • Every row below the header becomes one object: for each column in that row, the object gets the header name as its key and the row's cell as its value. • Empty cells become empty strings. • The records are returned as an array of objects, pretty-printed for easy reading and copying.

JSON keys must be unique, so a header with duplicate column names is rejected — two columns called name would silently overwrite each other in an object. A header with a blank cell is rejected too, because a column without a name has nothing to become a key.

Worked examples

  • name,age,city / Alice,30,Paris → { name: "Alice", age: "30", city: "Paris" }
  • "Doe, Jane" in a quoted field stays one value, not two columns
  • A field with a #newline inside quotes is preserved as part of the value

How to use CSV to JSON Converter

  1. Copy the CSV you want to turn into JSON — from a spreadsheet or an export.
  2. Paste it into the input box.
  3. The tool converts it live and shows the JSON on the right.
  4. Click Copy JSON to copy the array of objects, or copy it straight from the output box.

Common errors

  • My input won't convert — make sure the first row is a header with a name for every column. A blank column name or a duplicate column name is rejected, because a JSON object cannot have a nameless or duplicated key.
  • My cell shows an empty string where there was a blank cell — CSV cannot tell a true empty cell from an empty string, so a blank cell becomes an empty string value. That is inherent to the format, not a bug.
  • My values all come back as strings — CSV stores everything as text, so the tool keeps them as strings. Unlike JSON, CSV has no native types, so a number like 30 stays "30" unless you convert it in your own code.

FAQ

Where does my data go?

Nowhere. The conversion happens entirely in your browser — the CSV is parsed and re-rendered as JSON locally, and nothing is uploaded to a server.

Why are quoted fields unquoted in the output?

A value wrapped in double quotes in CSV (say, a city like "New York, NY") is quoted only so the comma doesn't split it into two columns. The quotes are CSV syntax, not part of the value, so the tool removes them and returns the clean text.

Why does a blank cell come back as an empty string?

CSV is a plain-text format with no native notion of null, so the tool cannot tell an empty cell from an empty string and keeps it as an empty string. If you need nulls, decide how to represent them in your CSV (for example a marker value) before converting.

Must the first row be the header?

Yes. The first row becomes the keys of the objects, and each following row becomes one object. If your CSV has no header, add a row of column names first, because a JSON object needs a key for each field.

G

Prefer AllUtil on Google

One click adds AllUtil to your Google preferences. You'll see our tools highlighted with a Preferred badge in Search and AI answers.

2× more likely to clickWorks in AI Overviews

Reviewed by unreviewed

Written by Hamza AK. We research, build and test every tool before it is published.

Editorial policy

Last updated

Rechecked against the sources on this date, not stamped.

Methodology

This tool parses CSV with an RFC 4180 parser (handling quoted fields, doubled quotes, embedded newlines, and CRLF), then maps the first row to object keys and every following row to one object, returning a pretty-printed JSON array of objects. It rejects blank or duplicate header names because JSON keys must be unique. Conversion runs locally in the browser — nothing is uploaded.