CSV to JSON Converter

Paste CSV or TSV and get a JSON array of objects. Quoted fields, embedded line breaks and semicolon-separated Excel exports are handled correctly.

Runs in your browser
Delimiter
Open file

Table preview

Paste CSV to see how it is parsed.

Your data never leaves your computer. All processing happens 100% locally in your browser.

How to use the CSV to JSON

  1. Paste CSV, drop a .csv/.tsv file on Open file, or click Load sample.
  2. The delimiter is detected automatically (comma, semicolon, tab or pipe) — override it if needed.
  3. Choose the options: header row, automatic number/boolean detection, and rebuilding nested objects from dot-notation headers.
  4. Check the table preview to confirm the columns, then Copy or Download .json.

What is CSV to JSON conversion?

A CSV to JSON converter reads tabular text — rows separated by line breaks, fields separated by a delimiter — and outputs JSON. With a header row, each line becomes an object whose keys are the column names, which is exactly the shape most APIs, JavaScript code and NoSQL databases expect:

id,name,active
1,Ada,true

becomes [{"id": 1, "name": "Ada", "active": true}].

A real CSV parser, not a split on commas

Splitting lines on commas breaks as soon as a field contains a comma, a quote or a line break. This tool implements the RFC 4180 rules:

  • Fields wrapped in double quotes may contain the delimiter and line breaks: "Portland, OR".
  • A doubled quote inside a quoted field is a literal quote: "Note ""G""" → Note "G".
  • Both Windows (CRLF) and Unix (LF) line endings work, and a UTF-8 BOM from Excel is ignored.
  • An unclosed quote is reported with the line where it started, instead of silently swallowing the rest of the file.
  • Rows with too few or too many fields are flagged, so you notice misaligned data.

Type detection

CSV has no types — everything is text. With Detect numbers, booleans & null enabled, values that look like JSON numbers become numbers, true/false become booleans and null becomes null. Values that would be damaged by conversion stay strings: ZIP codes and IDs with leading zeros (02134), and integers too large for JavaScript (longer than 15–16 digits, such as credit-card-length IDs). Disable the option to keep every value as a string.

Rebuilding nested JSON

Headers using dot notation are turned back into nested structures: address.city and address.country become an address object, and numeric segments such as tags.0, tags.1 become arrays. This makes the tool the exact inverse of our JSON to CSV converter.

Delimiters by region and tool

DelimiterWhere you'll see it
Comma ,Default for most software and English-locale Excel
Semicolon ;Excel exports in locales with a decimal comma (DE, FR, ES, IT, NL…)
TabTSV files, copy-paste from spreadsheets
Pipe |Legacy systems and data warehouses

Need to clean up the result? Format it with the JSON Formatter or create matching types with JSON to TypeScript.

Tools that pair well with the CSV to JSON

  • Remove Duplicate Lines — Paste a list to remove duplicate lines instantly.
  • JSON to YAML — Paste JSON and get clean YAML for Kubernetes manifests, Docker Compose, GitHub Actions or any config file.
  • YAML to JSON — Paste YAML — a Compose file, Kubernetes manifest or CI config — and get formatted JSON.
  • JSON to Markdown Table — Turn API responses or LLM-generated JSON arrays into a clean, aligned Markdown table for READMEs, docs and pull requests.

Frequently asked questions

How do I convert an Excel file to JSON?
In Excel choose File → Save As → CSV UTF-8, then open that file here. You can also copy cells straight from Excel or Google Sheets and paste them — the tab delimiter is detected automatically.
Why are some numbers kept as strings?
Values with leading zeros (like ZIP codes or 007) and integers above 253 would be changed by converting them to numbers, so they stay strings. Turn off type detection to keep everything as text.
Can a field contain commas or line breaks?
Yes, as long as the field is wrapped in double quotes, as the CSV standard requires. The parser handles quoted commas, quoted line breaks and escaped quotes ("").
What if my file has no header row?
Uncheck First row is a header. Columns are then named column1, column2… or choose Array of arrays output to get plain rows.
Is my CSV uploaded?
No. The file is read and parsed locally in your browser; nothing leaves your device.

Related tools