Convert CSV to JSON without losing precision

Every mapping decision is visible: key names, duplicate headers, numbers versus strings, empty text versus null. Values stay strings unless you ask for JSON numbers.

Example data — not saved

Showing synthetic sample data: CSV to JSON with duplicate headers. Open or drop your own file to replace it — files are read in your browser and never uploaded.

Source AUpdating…

Decisions the converter makes explicit

The example has two columns called “name” and one with no header at all. JSON objects cannot have duplicate keys, so they become name, name_2 and column_4, and the converter lists every rename. Choose “Stop and tell me” if you would rather rename the columns yourself.

00042 always stays a string. If you choose JSON numbers, numeric text such as 9007199254740993 is written with its exact digits, and the converter warns that many JSON readers, including JavaScript, will round values with more than 15 significant digits.

Dotted names such as address.city can be nested into objects. Conflicting paths are reported rather than silently overwritten.

Questions

Should I choose JSON Lines or an array?

JSON Lines (one object per line) suits streaming tools and log pipelines. An array of objects suits APIs and most libraries.

How are missing fields written?

As null by default, or omitted entirely if you choose “Omit the key”. Empty text can stay "" or become null.

Can I transform the data first?

Yes. The JSON tab converts whichever step is selected in the recipe, so you can clean, filter or rename before converting.