datapry

CSV to JSON

Convert CSV to JSON, keeping values like 007 intact instead of guessing wrongly. Runs in your browser, so nothing is uploaded.

Delimiter
Empty cells
Indent

CSV input

JSON output

Waiting for input

About this tool

Convert CSV exports to JSON without the usual type-guessing damage. Numbers are only converted when they round-trip exactly, so ZIP codes like 007 and 20-digit IDs stay as strings. Delimiters are detected automatically, and repeated headers and uneven rows are reported instead of being silently lost.

How to use it

  1. Paste CSV or import a file.
  2. Check the delimiter, header and type options.
  3. Copy or download the JSON.

Example

Input
id,zip,name
1,007,Alex
2,700001,"Sharma, Riya"
Output
[
  {
    "id": 1,
    "zip": "007",
    "name": "Alex"
  },
  {
    "id": 2,
    "zip": 700001,
    "name": "Sharma, Riya"
  }
]

007 stays a string because converting it to a number would lose the leading zeros.

Questions

How does type detection work?
A cell becomes a number only if converting it back gives identical text, so 42 converts while 007 and 1.10 stay strings. true, false and null are also recognized. Turn off "Detect types" to keep everything as text.
What about duplicate column names?
The repeat is renamed, for example name_2, and a warning appears so no column is lost.
Which delimiters are supported?
Comma, semicolon, tab and pipe, with auto-detection by default. Files should be UTF-8 for now.