CSV to JSON

Convert CSV or TSV data into a clean JSON array, with the first row used as field names. Handles quoted values, commas inside quotes and UTF-8 BOM files.

🌍 Global Access 🔒 Privacy First ⚡ Instant Conversion 💯 Unlimited
Advertisement

Convert CSV or TSV data into a clean JSON array of objects, using the first row as the field names. Quoted values, commas inside quotes, escaped quotes and UTF-8 BOM files are handled correctly, which is what most naive split-on-comma scripts get wrong.

This is the reverse of the export step: take a spreadsheet maintained by hand, turn it into JSON and feed it to an application, a static site generator or a test fixture. Numbers and true/false are converted to their JSON types so you do not have to clean them up afterwards.

How to convert CSV to JSON

1

Paste CSV or TSV data

2

Choose the delimiter if it is not a comma

3

Copy or download the JSON

FAQ

Are quoted fields handled?

Yes. Values wrapped in double quotes may contain commas, newlines and escaped quotes, which is the part most simple converters get wrong.

Which delimiter should I choose?

Comma for standard CSV, semicolon for files exported by Excel in many European locales, and tab for clipboard data pasted from a spreadsheet.

Are numbers converted to numbers?

Numeric-looking values become JSON numbers and true/false become booleans, so the output is ready to use without extra parsing. Force strings later if your schema needs them.

What about a UTF-8 BOM at the start of the file?

It is stripped automatically, so the first column name does not come out with an invisible character in front of it.

How are empty cells represented?

As an empty string. Remove or transform them afterwards if your schema expects null instead.

Is my data uploaded?

No, parsing happens locally in your browser.

Advertisement

At a glance

InputCSV
Multiple filesNo
Where it runsIn your browser - files are never uploaded
Works offlineYes — once the page has loaded
PriceFree, no sign-up, no watermark

Choosing a data format

JSON is the default for anything an API returns or a program reads: it handles nested structures, numbers, booleans and null naturally, and every language parses it. CSV is smaller and opens straight into a spreadsheet, but it has no way to express nesting and no shared standard for the delimiter, quoting or character set - which is exactly where conversions go wrong. XML is verbose but carries attributes, mixed content and schemas, so it still dominates document formats and legacy integrations. YAML is the most readable for configuration but is whitespace-sensitive and has surprising type coercion ("no" becoming false, a version like 1.10 becoming 1.1). Pick the format the consuming tool prefers rather than the one that looks nicest.

Where conversions quietly break

Most conversion bugs are not about syntax, they are about meaning. A CSV column of postcodes loses its leading zeros the moment a spreadsheet guesses it is a number; a long ID exceeds floating-point precision; dates change meaning depending on whether they are day-first or month-first. JSON keys are unordered but arrays are not, and a tool that sorts keys changes nothing while one that sorts arrays changes the data. Unicode is another trap: text can arrive as UTF-8, UTF-16 or with a byte-order mark, and a decoder that guesses wrong turns accented characters into mojibake. Before trusting any conversion, spot-check the first and last row, any field with leading zeros, and any field containing quotes, commas or newlines.