Turn spreadsheet exports into clean JSON (and back)
CSV looks simple until you meet it in the wild: fields quoted because they contain commas, line breaks hiding inside cells, Excel switching to semicolons based on your Windows locale, and exports where row five has two more columns than the header. Strict RFC 4180 parsers choke on exactly the files people actually have.
JSON is the format your application, API or script wants — but a naive conversion destroys data silently: leading zeros vanish, identifiers turn into scientific notation, and “true” becomes a boolean whether you like it or not. A good converter parses leniently, keeps every value a string, and tells you the exact line when the input genuinely is broken.
Open the free CSV ↔ JSON Converter — no signup, runs entirely in your browser.
How to use it
- Paste your CSV (or JSON) into the input panel and pick the conversion direction.
- For CSV → JSON: leave the delimiter on auto to sniff it, or pick comma, semicolon or tab explicitly.
- Toggle “First row is header” to get objects keyed by column names, or off for plain arrays.
- Copy the output, or hit Swap to flip it back into the input for a round-trip check.
Why this one
- Lenient real-world parsing: quoted commas and newlines, escaped quotes, BOMs, CRLF/LF/CR endings, and stray quotes all handled.
- Delimiter auto-detection counts candidates outside quotes only, so a quoted comma never confuses the sniffer.
- Values always stay strings — “00123” keeps its leading zeros, no surprise type coercion.
- Ragged rows are padded or kept with generated, collision-free field names instead of failing.
- Unterminated quotes are reported with the exact physical line number.
Frequently asked questions
How does delimiter auto-detection work?
The sniffer scans the first ten records and counts commas, semicolons and tabs — but only outside quoted fields. The candidate with the highest consistent per-row count wins, so a quoted “a,b” never gets mistaken for two columns. When in doubt, pick the delimiter explicitly.
Why does my Excel export use semicolons instead of commas?
In many European locales the decimal separator is a comma, so Excel exports “CSV” with semicolons to avoid clashing with numbers. Leave the delimiter on auto and the sniffer will detect the semicolons — or select semicolon explicitly.
Can CSV fields really contain commas and line breaks?
Yes — that is what quoting is for. A field wrapped in double quotes may contain delimiters and even newlines, and a doubled quote (““) escapes a literal quote. This converter handles all of it, plus the messy real-world cases like stray quotes in unquoted fields.
Why do all values stay strings instead of becoming numbers?
Because guessing types destroys data: “00123” loses its leading zeros, “1E5” becomes 100000, and “NO” has famously become false in some ecosystems. Strings are lossless — parse them into numbers in your own code, where the schema is known.
Is my spreadsheet data uploaded anywhere?
No — conversion in the browser UI runs locally on your device, so pasted data is not sent anywhere. A public API endpoint exists for programmatic use; data you choose to send there is transmitted by definition.