CSV ↔ JSON
Convert CSV to JSON or JSON to CSV locally. CSV values stay strings; use headers, rectangular arrays or flat records with matching fields.
Local processing · Inputs are not uploadedAll CSV values stay strings, including empty values, leading zeros and large integers; no type inference. Only comma delimiters are supported. An initial BOM is removed.
Load an example before converting.
Repeated JSON keys keep the last value; check the source first. Numbers use JavaScript precision; represent exact numbers as strings.
JSON must be a rectangular 2D array or flat records with matching fields. Nested values are unsupported; null becomes an empty field, numbers and booleans become text. Write large integers as strings.
Formula protection adds an apostrophe to fields starting with =, +, -, @, tab or carriage return. Disable it for exact data. CSV downloads include a UTF-8 BOM.
Limits: 1 MiB input, 20,000 rows, 500 columns, 4 MiB output. Processing stops after 8 seconds. Everything stays in your browser.
How to use
- Choose a direction and paste content or select a UTF-8 file. CSV uses commas; enabled headers must be nonempty and unique.
- CSV to JSON does not infer numbers: 001 stays a string. Disable headers for arrays of arrays. JSON to CSV accepts rectangular arrays or flat object arrays with matching fields; nested values are rejected.
- Convert, review and download. JSON null becomes an empty field; numbers and booleans become text. Default formula protection may add an apostrophe. Write large integers as strings.
Example
name,id Ana,001
With headers: [{"name":"Ana","id":"001"}]. Without headers: [["name","id"],["Ana","001"]]. Nested JSON records such as [{"user":{"id":1}}] cannot be converted to CSV.
Related tools
CSV deduplicator
Remove duplicate rows, keep their first occurrence and export CSV.
CSV comparison by key
Compare two CSVs by ID or SKU and download added, removed and changed records.
JSON formatter
Validate, format or minify JSON; copy or download the result.