What this tool does
CSV to JSON converts tabular data into JSON that programs can consume: as an array of objects when a header row is present, or as a plain array of arrays.
Delimiters are auto-detected among comma, semicolon and tab, and quotes follow RFC 4180 — including embedded commas, line breaks and escaped quotes. All in your browser.
If the JSON will be imported into a database or sent to an API, keep the header option on and turn pretty printing off: programs do not care about indentation, and dropping it saves 30–40% of the size. When a human needs to inspect a few rows instead, pretty printing is the easier choice. You can switch between the two freely, because the conversion is lossless and re-running it never accumulates errors.
How to use
- Paste CSV or drop a file Pasting is quickest; files may be .csv / .tsv, up to 20MB, UTF-8 encoded.
- Check delimiter and header Auto-detection is the default; specify manually when the file mixes delimiters. Turn the header switch off if the first row is data.
- Copy or download the JSON Every value is a string: types are not inferred, so leading zeros survive. Convert to numbers in your own code.
FAQ
Will numbers become strings?
Yes, deliberately: “007” stays intact and locale-specific decimal formats cannot break the data.
Can I convert a CSV exported from Excel?
Yes, auto-detection usually works. If Excel saved it as GBK, re-save as UTF-8 first.
Do commas or line breaks inside fields break it?
No. As long as the field is quoted per the standard, the parser handles it, including multi-line content.
Is .xlsx supported?
No. The Excel binary format needs its own tool — save as CSV first.
Is my data uploaded?
No — all processing happens inside your browser.
Can the output be more compact?
Turn pretty printing off to get single-line JSON — smaller and ready for code.
Limits
Up to 20MB; UTF-8 text only.
No type inference, no multi-character delimiters, no .xlsx.