CSV ↔ JSON Converter
Convert spreadsheet-style CSV into JSON records, or export JSON objects to CSV. Quoted commas, escaped quotes and multiline cells are handled locally.
Null or missing values become empty CSV cells. Import numeric IDs as text in your spreadsheet to keep leading zeros and long numbers.
Ready. Processing stays in this browser.
No uploads or saved history. Files are read on your device. Ctrl or Command + Enter runs the tool. Editing input clears outdated output.
How to use the CSV ↔ JSON Converter
- Choose the direction and the comma, semicolon or tab delimiter.
- Paste CSV with a header row, or a JSON array of objects. You can also read a UTF-8 file locally.
- Select Convert, then copy or download the result. Inspect CSV export options before opening a file in a spreadsheet.
CSV to JSON keeps every cell as a string: 00123 stays "00123". It does not guess dates, booleans or numbers.
Copying or downloading output creates a separate copy under your control. Clear the page when working on a shared device.
Supported data and limits
Every CSV column needs a unique, non-blank header. Data rows must have the same number of fields as the header. A UTF-8 BOM is accepted. Empty physical lines are skipped; explicitly quoted empty cells are retained. Quotes must enclose the entire field, with doubled quotes inside. Spaces after a closing quote are rejected. Reading a file preserves CRLF and other line breaks inside quoted fields; a browser may normalize line endings in pasted text.
JSON input must be an array of objects with non-blank property names. Columns follow the first appearance of each property. Missing and null values become empty cells; CSV cannot preserve that distinction. Nested objects and arrays are rejected unless you choose nested JSON cells, which serializes each nested value in a cell rather than flattening it.
CSV has no native data types. JSON numbers keep their original digits in CSV, but spreadsheet applications may reformat them. To preserve identifiers, import the column as text. Limits are 5 MiB input, 100,000 data rows, 2,000 columns, 100 JSON nesting levels, 200,000 JSON values and 16 million output characters.
Frequently asked questions
Does it detect the delimiter automatically?
No. Choose comma, semicolon or tab explicitly so the same input has a predictable interpretation. Use tab for TSV data.
Can CSV contain commas and line breaks in a cell?
Yes. Wrap the cell in double quotes. Represent a literal double quote by doubling it. The converter checks the quoting and preserves multiline cell content.
What does spreadsheet protection do?
Some spreadsheet apps execute cells beginning with =, +, -, @, a tab or a line break as formulas. The optional protection prefixes these cells, including headers, with an apostrophe. This changes the CSV cell text. Keep it off only when exact raw cells are needed, and treat untrusted CSV carefully in spreadsheet applications.
Will converting there and back restore every JSON value?
No. CSV cells have no type information, and null or missing values become empty strings on return. CSV to JSON deliberately returns strings. Nested JSON cells also return strings rather than being parsed automatically.
Predictable CSV conversion
The parser follows strict quoted-field CSV rules. It never evaluates formulas, renders HTML from cells or guesses data types. Files are downloaded only when you choose Download.
Spreadsheet protection is optional because prefixing an apostrophe changes the source text. Review exported files and import untrusted cells as text in a spreadsheet.
Processing runs in a local browser worker when supported. You can cancel long operations. No database or server processing is used for the text you enter.
Examples and practical checks
Understand the result before using it elsewhere.
- Convert CSV to JSON while keeping leading zeros and line breaksWorked example · 5 min read
- Explore Developer ToolsCompare tools and their limits
- How we test these toolsMethods, verification and limitations