CSV to JSON Converter

Convert CSV files or pasted data to JSON instantly. Supports comma, semicolon, tab and pipe delimiters. Outputs array of objects or array of arrays. Download the result as a .json file. Free, browser-based, no data uploaded.

Did we solve your problem today?

What is CSV?

CSV (Comma-Separated Values) is a plain-text format for tabular data. Each line represents one row, and values within a row are separated by a delimiter character — most commonly a comma. CSV is the default export format for spreadsheet applications like Microsoft Excel, Google Sheets, and LibreOffice Calc, as well as many databases and reporting tools.

A typical CSV file looks like this:

Name,Age,City
Alice,30,Berlin
Bob,25,Hamburg
Carol,35,Munich

What is JSON?

JSON (JavaScript Object Notation) is the de facto standard format for data interchange on the web. It is human-readable, easy to parse in every programming language, and natively supported by browsers and REST APIs. The CSV example above would convert to JSON as:

[
  {"Name": "Alice", "Age": "30", "City": "Berlin"},
  {"Name": "Bob", "Age": "25", "City": "Hamburg"},
  {"Name": "Carol", "Age": "35", "City": "Munich"}
]

When Do You Need CSV to JSON Conversion?

Choosing the Right Output Format

Array of Objects

Each CSV row becomes a named object. The header row provides the property names:

[{"Name": "Alice", "Age": "30"}]

Use this format when:

Array of Arrays

The header becomes the first element and rows are plain arrays:

[["Name", "Age"], ["Alice", "30"], ["Bob", "25"]]

Use this format when:

Delimiter Guide

DelimiterSymbolWhen to use
Comma,Default for English-locale exports
Semicolon;European Excel exports (decimal separator is , there)
Tab\tTSV files, copy-paste from spreadsheet cells
Pipe|Log files, SQL dumps, custom exports

If your parsed output looks wrong, the most likely cause is the wrong delimiter. Try switching from comma to semicolon or tab.

Handling Quoted Fields

The parser follows RFC 4180 CSV rules:

Example:

Name,Description
"Smith, John","He said ""Hello"" and left"

Parses correctly to:

[{"Name": "Smith, John", "Description": "He said \"Hello\" and left"}]

All Values Are Strings

CSV has no type system — every cell is a string. This tool preserves that: "30" stays "30", not 30. If you need numeric values, apply type coercion after conversion in your code:

const users = csvData.map(row => ({
  ...row,
  age: Number(row.Age),
}));

Privacy

All processing runs in your browser. Your CSV data never reaches any server, is never logged, and is never stored. You can use this tool entirely offline once the page has loaded.

FAQ

What is CSV and why convert it to JSON?

CSV (Comma-Separated Values) is a plain-text tabular format widely used for spreadsheets and data exports. JSON (JavaScript Object Notation) is the standard data interchange format for web APIs, databases, and modern applications. Converting CSV to JSON lets you feed spreadsheet data directly into web services, Node.js scripts, or REST APIs without manual reformatting.

What delimiters does this tool support?

The tool supports four common delimiters: comma (,), semicolon (;), tab (\t), and pipe (|). European spreadsheet exports often use semicolons because commas are used as decimal separators. Select the correct delimiter to get accurate results.

What is the difference between "array of objects" and "array of arrays"?

Array of objects uses the first row as property keys: [{"Name":"Alice","Age":"30"}]. Array of arrays preserves the raw table structure including the header row: [["Name","Age"],["Alice","30"]]. Use objects when working with APIs or ORMs; use arrays for compact data transfer or matrix processing.

Is my data sent to a server?

No. All processing runs locally in your browser using pure JavaScript. Your CSV data never leaves your device and is not stored, logged, or shared anywhere.

Does the parser handle quoted fields and commas inside values?

Yes. The built-in parser follows RFC 4180 CSV rules: fields surrounded by double quotes may contain delimiters, newlines, and escaped double quotes (written as ""). For example, the field "New York, NY" is parsed as a single value, not split at the comma.