HandyTools Hub

CSV to JSON Converter

Convert CSV data to a JSON array of objects instantly

Tip: you can also drag & drop a .csv file onto this box.

How to Use

1
### Add Your CSV Paste CSV text into the input box, or drag & drop a .csv file onto it — the file loads and converts automatically.
2
### Set the Options Choose whether the first row is a header (keys) and whether numbers and booleans should be inferred from strings.
3
### Convert Click Convert to JSON. The delimiter (comma, semicolon, or tab) is auto-detected and shown with the row and column counts.
4
### Copy or Download Grab the pretty-printed JSON array with one click, or download it as a .json file.

Features

### Full RFC 4180 Support Quoted fields with embedded commas, newlines, and escaped quotes parse correctly — including multi-line cells from Excel exports.
### Delimiter Auto-Detect Comma, semicolon, and tab delimiters are detected from the first line, so European CSV and TSV files just work.
### Optional Type Inference Numbers and booleans are inferred by default, and one toggle switches back to all-strings output for ID-like columns such as "007".
### Flexible Headers Use the first row as keys, or turn the header off to get generated column_1…column_N keys.
### 100% Client-Side A self-contained parser runs in your browser — no uploads, no storage, no dependencies.

Use Cases

📊
### Spreadsheet Exports to APIs Turn an Excel or Google Sheets export into a JSON array ready for a REST API payload or seed script.
🧪
### Test Fixtures Convert tabular test data into JSON fixtures for unit tests, with exact control over types.
🌍
### European CSV Files Semicolon-delimited exports from German or French locales are detected automatically — no manual find-and-replace.
🔍
### Quick Data Inspection Paste a few rows of CSV to see them as structured JSON, then copy the result into your code or notes.

Frequently Asked Questions

How is the CSV delimiter detected?

The converter scans the first line and counts commas, semicolons, and tabs outside of quoted fields, then picks the most frequent one. This handles exports from Excel (comma), European locales (semicolon), and TSV files (tab) automatically.

What does the type inference toggle do, and when should I turn it off?

Type inference (ON by default) converts values that look like numbers or booleans: "42" becomes 42 and "true" becomes true. Turn it OFF when your data contains ID-like fields such as "007", zip codes with leading zeros, or phone numbers — inference would silently turn "007" into 7 and destroy the original value. With inference off, every value stays a string exactly as written.

How are quoted fields handled?

The parser follows RFC 4180: fields wrapped in double quotes may contain commas, newlines, and even quotes themselves (escaped by doubling them, so "" becomes "). Multi-line cells from spreadsheet exports parse correctly.

What happens if my rows have different numbers of columns?

Short rows are padded with empty strings so every object has the same keys; extra fields beyond the header's column count are dropped. When the header toggle is off, keys are generated as column_1, column_2, and so on.

Is my data uploaded anywhere?

No. Parsing runs entirely in your browser with a self-contained parser — nothing is sent to a server, stored, or logged.