Why CSV parsing is harder than it looks
A correct CSV parser has to handle:
- Quoted fields containing the delimiter:
"Smith, John"is one field, not two. - Escaped quotes inside quoted fields:
"say ""hi"""decodes tosay "hi". - Embedded newlines inside quoted fields — valid in RFC 4180.
- Mixed line endings (LF, CRLF, CR). Common when CSVs travel between Unix and Windows.
- Trailing newline that shouldn't produce a spurious empty row.
A naive split(',') / split('\\n') breaks on every one of these. This tool uses a proper state-machine parser that handles them all.
How to use
- Pick your delimiter (comma default — also tab, semicolon, pipe).
- Toggle "first row is header" if the first line is column names (produces an array of objects). Uncheck for raw array-of-arrays.
- Toggle "auto-type" to convert
123to number,true/falseto boolean,nullto null. - Pick indent (2 spaces or minified).
FAQ
Can I convert JSON back to CSV?
Not in this tool (yet). You can derive CSV from a JSON array of objects manually by taking the keys of the first object as headers and joining each row's values. A dedicated JSON-to-CSV tool is on the roadmap.
Does it handle Excel CSVs?
Yes. Excel exports are RFC 4180 compliant (with CRLF line endings). Fields containing commas or quotes are automatically quoted.
What's the max file size?
The UI stays responsive up to ~50MB of CSV text. For larger files, use a streaming CSV parser locally (Python csv module, Node csv-parse with streams).
Related tools
- JSON Formatter — Format, validate, and beautify JSON online. 100% client-side — your data never leaves your browser.
- XML Formatter — Format, validate, and beautify XML documents.
- YAML ↔ JSON Converter — Convert between YAML and JSON formats with full fidelity.
- JSON Diff — Compare two JSON objects structurally with field-by-field diff.
Pillar
Part of Data & Format — JSON, YAML, XML, CSV, SQL, Markdown.
Written by Mian Ali Khalid. Last updated 2026-04-25.