Developer tools ● Local processing

CSV to JSON Converter

Convert comma-separated rows with a header into JSON objects. Cell values stay text strings.

Preparing tool…
Try a small example

Try a small example

Load the fictional example in a cleared form. Check the options, run the tool if needed, and compare the result below.

Use the first CSV row as object keys and turn each matching record into one JSON object. Cell values remain strings; leading zeroes and identifier formatting are preserved. Paste comma-separated data with unique column names in the first row. Example: name,city then Ada,Paris. Values remain JSON strings, so values like 007 keep their leading zeroes; numbers, booleans, dates, and null are not inferred. A UTF-8 BOM at the very start is ignored. Completely blank lines are ignored, but rows with explicit empty cells (for example ,,) are kept. Each data row must match the header field count. Quote fields at the start of a field, double quotes inside quoted fields, and do not add characters after a closing quote. Column names must be unique, every record must have the same number of fields as the header, and quotes must follow CSV field rules. Completely blank lines are ignored, while rows with explicit empty cells (such as ,,) are preserved. Numbers, booleans, dates, and null are not inferred as types.

CSV with a header row

id,name,note
001,Ada,"tea, coffee"
002,Sam,"hello"

Expected output

[
  {
    "id": "001",
    "name": "Ada",
    "note": "tea, coffee"
  },
  {
    "id": "002",
    "name": "Sam",
    "note": "hello"
  }
]

The example is unavailable until the tool is ready.

Text is processed in your browser.

✓ Local processing✓ No account✓ Inputs processed here✓ Free

Quick answer

Use the first CSV row as object keys and turn each matching record into one JSON object. Cell values remain strings; leading zeroes and identifier formatting are preserved.

The page and its assets load from the site; this operation uses your entered values only in this browser and does not send them to a calculation endpoint.

How to use it

Paste comma-separated data with unique column names in the first row. Example: name,city then Ada,Paris. Values remain JSON strings, so values like 007 keep their leading zeroes; numbers, booleans, dates, and null are not inferred. A UTF-8 BOM at the very start is ignored. Completely blank lines are ignored, but rows with explicit empty cells (for example ,,) are kept. Each data row must match the header field count. Quote fields at the start of a field, double quotes inside quoted fields, and do not add characters after a closing quote.

Limits

Column names must be unique, every record must have the same number of fields as the header, and quotes must follow CSV field rules. Completely blank lines are ignored, while rows with explicit empty cells (such as ,,) are preserved. Numbers, booleans, dates, and null are not inferred as types.

Frequently asked questions

Are numbers, dates, or booleans converted to JSON types?

No. Every CSV cell becomes a JSON string, preserving values such as 007, dates, and identifiers exactly as written.

What happens to blank lines and empty cells?

Completely blank lines are ignored. Explicit empty cells are preserved; for example, a row with commas becomes an object with empty-string values.

Why does a row need the same number of fields as the header?

Each JSON property corresponds to one header field. A mismatch is rejected so extra values are not discarded and missing values are not guessed.

What happens with duplicate column names?

The converter rejects duplicate headers because JSON objects cannot preserve two separate values under the same property name.

Sources and references

These references document the cited standard or browser API; they do not validate the tool’s output.

Follow a worked example

From semicolon CSV to JSON, keeping leading zeroes