CSV to JSON Converter

Convert CSV data into JSON arrays or objects.

โ€” or โ€”

What Does the CSV to JSON Converter Do?

This converter turns CSV data โ€” pasted or uploaded as a file โ€” into JSON. With a header row, each data row becomes an object keyed by the column names; without one, you get arrays of values. It handles the tricky parts correctly: quoted fields containing commas, escaped quotes, alternative delimiters (semicolon, tab, pipe), BOM markers and legacy encodings. Values that look like numbers or booleans are cast to real JSON types, and output can be pretty-printed or minified.

How to Convert CSV to JSON

  1. Paste CSV into the box or upload a .csv file (up to 10 MB).
  2. Pick the delimiter and tell the tool whether the first row is a header.
  3. Click Convert to JSON.
  4. Review the output (with a record count), copy it, or download data.json.

Where CSV-to-JSON Fits

  • API development โ€” turn a spreadsheet of test data into fixtures or seed data.
  • Frontend prototyping โ€” feed exported data straight into JavaScript apps and charts.
  • NoSQL imports โ€” MongoDB and friends ingest JSON documents, not CSV rows.
  • Config migration โ€” product catalogs and translation tables maintained in Excel, consumed as JSON.

Excel exports in many locales use semicolons instead of commas โ€” if your conversion comes out as one giant column, switch the delimiter to semicolon and re-run.

Frequently Asked Questions

How are commas inside values handled?

Correctly โ€” the parser follows the CSV standard, so quoted fields like "Tokyo, JP" stay one value. Escaped quotes ("" inside a quoted field) are also decoded properly.

Why are some numbers quoted and others not?

Values that parse cleanly as numbers become JSON numbers; anything with leading zeros (like ZIP code 01234) or over 14 digits stays a string to avoid corrupting identifiers. true/false become real booleans.

My Excel CSV converts into one column โ€” why?

Excel in many European locales exports with semicolons as separators. Set the delimiter option to "Semicolon (;)" and convert again.

What if my rows have more cells than the header?

Extra cells beyond the header are dropped; missing cells become null. For clean output, make sure the header row names every column (unnamed columns are auto-labeled column_N).