CSV ↔ JSON Converter
Convert between CSV and JSON formats instantly.
How It Works
CSV format (RFC 4180): Rows are separated by newlines, fields by the chosen
delimiter. Fields containing the delimiter, double quotes, or newlines must be wrapped in
double quotes. A literal " inside a quoted field is escaped as "".
CSV → JSON: The first row is used as object keys unless "First row is header"
is off. Type inference converts numeric strings to numbers, true/false to booleans, and empty/null to JSON null — toggle it off to keep everything as
strings.
JSON → CSV: Accepts an array of objects or an array of arrays. Nested objects are flattened with dot-notation keys. All unique keys across all rows become column headers, so sparse objects produce empty cells for missing fields.
Common pitfalls: Commas inside values must be quoted — "New York, NY". A trailing newline at the end of the file does not add a blank row. Leading zeros in numbers
(e.g. 007) are converted to integers by type inference; disable it to preserve
them as strings.
Related Tools
Frequently Asked Questions
How do I convert CSV to JSON?
Paste your CSV (with a header row), select CSV → JSON mode, and the converter produces a JSON array of objects where each row becomes an object and the header columns become keys. Numbers and booleans are inferred automatically unless you turn off type inference.
How do I convert JSON to CSV?
Paste a JSON array of objects (or array of arrays), select JSON → CSV mode, and the converter flattens all keys into column headers. Nested objects use dot-notation keys (e.g. address.city).
How do I handle commas inside CSV fields?
Wrap the field in double quotes: "New York, NY". If the field also contains double quotes, escape them by doubling: "He said "hello"". This is the RFC 4180 standard.
Why are my leading zeros disappearing?
Type inference converts numeric strings to numbers, dropping leading zeros (e.g. "007" → 7). Disable type inference to keep all values as strings and preserve leading zeros.