Developer Tools

CSV to JSON / JSON to CSV Converter

Convert CSV or TSV to JSON and flat JSON to CSV in your browser. Choose delimiters, preserve text values, preview data and download UTF-8 files.

About CSV to JSON / JSON to CSV Converter

Convert CSV and JSON in your browser

Convert CSV to a JSON array, or a flat JSON object or array of objects to CSV. Choose comma, tab, semicolon or pipe as the delimiter. Each direction retains its own input, and you can copy or download the full result.

Preserve text or infer value types

By default, CSV values remain strings. You can optionally infer numbers, booleans and null. Leading zeros, surrounding whitespace, numbers outside the safe range and values whose spelling would change remain strings. Choose whether the first record contains headers. Duplicate headers, inconsistent column counts and invalid quoting produce errors. Whitespace, empty cells and empty records are preserved; only a BOM at the start of the CSV input is removed.

Delimiter and number conventions are not inferred from your region. A value such as 1,25 remains text, even with type inference enabled. Choose the delimiter used by your source data.

Quoting and delimiter detection

Quoting follows the common rules described in RFC 4180: fields can contain delimiters, newlines and double quotes when quoted correctly. This tool also accepts LF or CR record separators and the additional delimiters listed above. Detect delimiter makes a guess when you press the button. Check its result; you can always select a delimiter manually. For tab-separated spreadsheet data, choose Tab.

Supported JSON and conversion limits

Use a flat object or an array of flat objects. Values may be strings, numbers, booleans or null. Number digits and exponent notation are preserved. Nested values, duplicate keys and non-object array items are rejected. Columns combine all keys in first-seen order. Null and missing keys become empty cells, so CSV cannot preserve all JSON types in a round trip.

Limits: 100,000 UTF-16 code units of input, 1,000 data rows, 100 columns, 20,000 cells and 1,000,000 code units of output. Invalid Unicode surrogate characters are rejected. The preview shows at most 100 data rows, 10 columns and 200 code units per cell. The result and downloaded file contain all converted data.

Downloads, spreadsheets and privacy

Files use UTF-8 without a BOM. CSV record separators are CRLF. Tab-separated output uses .tsv; other delimited output uses .csv, and JSON uses .json. When importing into Excel or another spreadsheet, specify the encoding and column types. Cells that resemble formulas are not modified. Do not open untrusted data directly in a spreadsheet.

A successful copy is reported after the browser confirms it. If a write remains unconfirmed after five seconds, automatic copying stays unavailable until that write finishes. You can select the result and copy it manually. Input is processed in your browser, without sending it to a processing server. Site-wide analytics and advertising requests are separate.

Frequently asked questions

Q. Can I paste data from Excel?
For tab-separated data, choose Tab. Delimiter detection is a guess, so check the converted result before using it.
Q. Can I keep numbers as strings?
Yes. CSV conversion keeps all values as strings by default. Type inference is optional. When converting JSON to CSV, the original number digits and exponent notation are preserved.
Q. Does this flatten nested JSON?
No. Use a flat object or an array of flat objects. Nested values and duplicate keys are rejected.
Q. What are the size limits?
Input is limited to 100,000 UTF-16 code units, with at most 1,000 data rows, 100 columns and 20,000 cells. Output is limited to 1,000,000 code units. Split larger inputs into smaller parts.
Q. What if copying or downloading fails?
You can select the result and copy it manually, or retry the download. Automatic copying can be retried after the previous native clipboard write finishes.

Sources and specifications

Related tools

Questions or feedback? Contact NanToo

Rate this tool
—(0 ratings)