Skip to content
My Tiny Utils

Search tools

Type to find a tool, then press Enter to open it.

CSV to JSON

Convert CSV to a JSON array with a real CSV parser: quoted fields, embedded newlines, delimiter auto-detection, header row, and number/boolean inference.

Processed locally in your browser — nothing is uploaded.

CSV to JSON

0 characters

JSON

Output appears here…

About CSV to JSON

Paste CSV and get a JSON array of objects. The parser handles the hard cases correctly — quoted fields, escaped quotes (""), commas and line breaks inside quotes, and CRLF line endings — and auto-detects whether your file uses commas, semicolons, or tabs, with a manual override.

Use the first row as keys or get plain arrays, and optionally infer numbers, booleans, and null from cell text. Values with leading zeros (like ZIP codes) deliberately stay strings.

Common uses

  • Convert a spreadsheet export into JSON for an API or test fixture
  • Inspect exactly how a tricky CSV parses before writing import code
  • Turn semicolon-separated European exports into clean JSON

Example

Input

name,age
Ada,36

Output

[
  {
    "name": "Ada",
    "age": 36
  }
]

Frequently asked questions

How does the tool know which delimiter my CSV uses?

It counts commas, semicolons, tabs, and pipes outside quoted fields across the first ten lines and picks the most frequent, defaulting to comma on a tie. If the guess is wrong you can set the delimiter manually.

Why do ZIP codes with leading zeros stay as strings?

Deliberately. Converting "00742" to the number 742 would silently destroy the leading zeros, so type inference only converts values that survive the round trip — clean numbers, true, false, and null.

Does my CSV data get sent to a server?

No. Parsing and conversion happen locally in your browser, so spreadsheet exports with names, emails, or sales figures are never transmitted anywhere.

Can it handle commas or line breaks inside a field?

Yes. Fields wrapped in double quotes may contain delimiters, line breaks, and escaped quotes written as "", exactly as RFC 4180 specifies, and the parser keeps them intact instead of splitting the row.

What if my CSV has no header row?

Turn off the header option and each row becomes a plain JSON array of values instead of an object. With the option on, the first row supplies the object keys for every following row.