CSV to JSON Converter
Convert CSV, TSV, and delimited data to JSON. Supports RFC 4180 quoted fields, automatic type detection, nested key unflattening, and multiple output formats.
Conversion Features
| Feature | Description |
|---|---|
| RFC 4180 Parsing | Handles quoted fields, escaped quotes (""), and multiline values inside quotes |
| Auto Delimiter Detection | Detects comma, tab, semicolon, or pipe delimiter automatically from the first row |
| Type Inference | Converts numbers, booleans (true/false), and null values to their JSON types |
| Nested Key Unflattening | Converts dotted headers (address.city) into nested JSON objects |
| Array of Objects | Each CSV row becomes a JSON object with header keys (default format) |
| Key-Value Object | First column becomes keys, second column becomes values |
| Trim Whitespace | Strips leading/trailing spaces from headers and values |
| Skip Empty Rows | Ignores rows where all fields are empty |
| TSV Support | Tab-separated values work with the Tab delimiter option |
| File Download | Download converted JSON as a .json file |
Related Tools
Frequently Asked Questions
How does CSV to JSON conversion work?
The first row of your CSV is treated as column headers, and each subsequent row becomes a JSON object with those headers as keys. The result is an array of objects. For example, a CSV with headers 'name,age' and row 'Alice,30' becomes [{"name": "Alice", "age": 30}].
What is type inference?
When 'Detect types' is enabled, the converter automatically identifies numbers (30 → 30), booleans ('true' → true, 'false' → false), and null values ('null' → null) instead of treating everything as strings. Disable this if you want all values to remain as strings.
What does 'Nested (unflatten dots)' do?
If your CSV headers contain dots (e.g., 'address.city', 'address.state'), the Nested format creates nested JSON objects: {"address": {"city": "NY", "state": "NY"}}. This is the reverse of the JSON-to-CSV flattening feature.
Is my data safe?
Yes. All CSV parsing and JSON conversion happens entirely in your browser using JavaScript. No data is sent to any server. Your CSV data never leaves your machine.