Keep leading zeros and a large value as strings
Input and settings
CSV→JSON / Objects / Comma id,amount / 0001,9007199254740993
Expected result
[{"id":"0001","amount":"9007199254740993"}]
Both values are JSON stringsConvert CSV or TSV and JSON in your browser. Preserve text and large numeric digits, then copy or save the result.
UTF-8 input: 2 MB; output: 5 MB. Up to 50,000 rows including CSV headers, 1,000 columns and 100,000 cells. Input, filenames and results are neither stored nor sent.
CSV to JSON keeps every cell as a string. Leading zeros and date text are not converted to numbers or dates. JSON to CSV preserves numeric digits and exponent notation; true and false become text.
Object-mode CSV headers must be unique and nonempty. JSON object keys become columns in first-seen order; missing keys become empty fields. Nested arrays or objects and duplicate JSON keys are rejected.
CSV has no data types. Null, missing values and empty strings cannot be perfectly restored on a round trip. Headers from an empty dataset are not retained in JSON. Spreadsheet apps may interpret leading zeros or text that looks like a formula.
Output uses UTF-8 without a BOM. CSV rows use CRLF; quoted cell line breaks are preserved. The preview shows the first 20,000 characters; copy and save include the entire result. Reset clears input and output but retains your settings.
Check CSV string preservation and JSON null conversion while changing direction and delimiter.
Example buttons replace the inputs and settings above and calculate. Restore previous input steps back one example at a time. After trying multiple examples, repeat restore to return to your original input. This history is lost when the page closes.
CSV→JSON / Objects / Comma id,amount / 0001,9007199254740993
[{"id":"0001","amount":"9007199254740993"}]
Both values are JSON stringsJSON→CSV / Objects / Semicolon / Null as empty
id;note 0001; 0002;null Downloaded row separators are CRLF
CSV→JSON keeps numeric-looking cells as strings to preserve leading zeros and long digits. JSON→CSV lets you choose null handling, but turning null and empty strings into empty cells loses that distinction. This converts a table without executing formulas or inferring numeric types.
Limits are 2 MB input, 5 MB output, 50,000 rows, 1,000 columns, 100,000 cells and JSON depth 32. Use arrays of objects or arrays; nested cells are unsupported. Preview is capped at 20,000 characters; downloads include all output. Quoted CR/CRLF in loaded files are preserved, while textarea editing follows browser newline normalization. Restore includes the original file and the conversion source text.
Verification: independent checks compare string types, delimiters and null output. Browser checks load a file with BOM and quoted CRLF, then compare its bytes and conversion result after two examples.
XLSX is not supported. Use UTF-8 CSV, TSV, JSON or TXT files. Convert other encodings with the Text Encoding Checker & UTF-8 Converter first.
CSV and arrays of arrays must have equal row widths. Arrays of objects may use different keys in each row. A dataset containing only empty objects, or an empty row array, cannot be represented as CSV.
Empty CSV becomes an empty JSON array. JSON [] can be saved as a zero-byte CSV file. An empty CSV result cannot be copied.
Share only the tool name and public URL. Your input and results are not included.
Keep any content you need before clearing. This tool does not autosave inputs or results. Reloading or closing the page, clearing inputs or resetting may discard your work.
Favorites and language preferences are stored separately and may be lost when site data is cleared. Tool resets and site-data deletion do not delete files already downloaded to your device.