CSV ↔ JSON Converter
Convert tabular data, check a preview, and download the result. Processing stays in your browser.
Paste data, open a UTF-8 file, or load an example.
Files: UTF-8, up to 1 MB. Input: up to 1,000,000 UTF-16 units.
Editing input or options clears the old result so you always export the current conversion.
Table preview
Convert data to see a table preview.
Formats, accuracy & limits
JSON input must be an array of objects or an array of equal-length arrays. Mixed row types, duplicate JSON properties, blank CSV headers and uneven CSV rows are rejected. Nested values require the explicit compact-JSON option.
CSV cannot retain the difference between a JSON string, number, boolean, null or missing property. A reverse conversion therefore does not restore those types. JSON number spellings are preserved when writing CSV; CSV input always becomes strings.
The preview shows original values before spreadsheet protection, up to 50 rows and 20 columns. Long preview cells are shortened; full output remains available. Conversion limits: 10,000 data rows, 200 columns and 50,000 cells; JSON also uses the formatter’s value/depth limits. Output is limited to 4,000,000 UTF-16 units. A local worker stops after 8 seconds. Data is not stored or uploaded.
Using CSV ↔ JSON Converter
Move tabular data between CSV and JSON. Preview the rows before copying or downloading a complete result.
- Choose CSV → JSON or JSON → CSV, then paste data, open a UTF-8 file or load an example.
- Set the delimiter and header option. Open conversion options only if you need different formatting, nested-value handling or spreadsheet protection.
- Convert, review errors and notes, inspect the preview, then copy or download the output.
Example
CSV input: name,id
Ada,00123
JSON output: [{"name":"Ada","id":"00123"}]
The ID stays a string, so its leading zeros survive.Questions & answers
Will CSV numbers lose their leading zeros?
No. CSV input becomes JSON strings by default and has no automatic type inference. A value such as 00123 stays "00123".
Will large JSON numbers be rounded?
No. The existing JSON parser preserves number tokens when writing CSV, including 9007199254740993. CSV has no numeric type, and other applications may reinterpret the resulting text.
What JSON structure can I convert?
Use an array of objects or equal-length arrays. Object keys become columns in first-seen order across all rows. Missing properties become empty cells. Nested values are rejected unless you choose compact JSON in cells.
What happens to blank or duplicate headers?
Header names must be nonblank and unique. Fix them or turn off the header option to use an array of rows. Duplicate JSON property names are also rejected to avoid ambiguous table data.
Why can a reverse conversion change data types?
CSV has no JSON types. JSON numbers and booleans become CSV text. Null and missing values can become empty cells, and converting CSV back to JSON creates strings. Reversing formats does not restore the original types.
What does spreadsheet protection change?
It adds an apostrophe to cells with formula-like prefixes, including headers. This deliberately changes those values. It is off by default; review the output and notes before importing it into a spreadsheet.
Is the preview the complete output?
No. It shows up to 50 rows and 20 columns, with long cells shortened. The output and downloads contain all converted rows within the stated limits. Preview values appear before spreadsheet protection.
Are my files uploaded or stored?
No. Conversion runs in a locally bundled browser worker. Tool inputs and outputs are not stored or uploaded. Files must be UTF-8 and no larger than 1 MB; processing has input, row, column, cell and timeout limits.
Help improve this tool
Report a problem or suggest an improvement
Describe the issue without pasting private tool input. Feedback goes to our admin inbox.
