Convert CSV or TSV to JSON -- free, private, runs entirely in your browser
Read more: CSV to JSON Converter
CSV (Comma-Separated Values) is ideal for flat, tabular data -- spreadsheets, exports from databases, reports with rows and columns. It is compact, widely supported, and easy to open in Excel or Google Sheets. However, CSV cannot represent nested or hierarchical data. Every row must have the same columns, and there is no concept of objects within objects.
JSON (JavaScript Object Notation) is better suited for structured API data, configuration files, and anything that needs nesting. A JSON object can contain arrays, other objects, and mixed types. This flexibility makes JSON the dominant format for REST APIs, NoSQL databases, and modern web development. If you need to go the other direction -- from JSON to CSV -- the JSON Formatter tool includes a CSV export option.
A naive CSV parser splits on every comma, which fails the moment any field contains a comma. The RFC 4180 standard defines how to handle these cases:
"New York, NY" is a single field."He said ""hello""" becomes He said "hello".\r\n line endings are treated identically to Unix \n endings.When "First row is header" is enabled, the first row of your CSV becomes the property names of the JSON objects. Each subsequent row becomes one JSON object where each value is mapped to its corresponding header key.
For example:
| name | age | city |
|---|---|---|
| Alice | 30 | Boston |
| Bob | 25 | Austin |
Becomes: [{"name":"Alice","age":30,"city":"Boston"},{"name":"Bob","age":25,"city":"Austin"}]
Duplicate headers are allowed by CSV but produce ambiguous JSON -- the last value wins. Empty headers are replaced with a generated key like col_1, col_2 to avoid objects with empty-string keys.
No. CSV is a flat, two-dimensional format. It has rows and columns, but no way to express a value that is itself an object or an array. If your data has hierarchy, you would need to flatten it into columns (e.g., address_city, address_zip) before storing it as CSV, then reconstruct the nesting after converting to JSON.
TSV (Tab-Separated Values) is essentially the same format as CSV but uses a tab character as the delimiter. This is common in data exported from databases or spreadsheet tools. This converter handles TSV automatically -- just set the delimiter to Auto-detect or explicitly choose Tab. Files with a .tsv extension are also accepted in the file upload.
Yes. All processing happens locally in your browser using JavaScript, so there is no server-side file size limit. Files up to a few megabytes convert in milliseconds. Very large files (tens of megabytes with hundreds of thousands of rows) will take longer and may briefly delay the browser tab. A warning is shown for files over 1MB.
No. Your CSV data is never uploaded anywhere. The converter runs entirely in your browser -- no network request is made during conversion. This makes it safe to use with sensitive data such as internal exports, personally identifiable information, or confidential records.