What this tool does
The header row becomes the keys, and each following row becomes one object in an array. Values are typed rather than quoted blindly: 30 comes out as the number 30, true as the boolean.
The delimiter is detected from the file, so a European export separated by semicolons works without changing anything.
What type detection touches, and what it leaves alone
These are the rules worth knowing, because they are where converters usually destroy data:
- a leading zero keeps the value a string —
01stays"01"; - hexadecimal and exponent notation stay strings:
0x10and1e5are not numbers here; - an explicit plus sign keeps it a string,
+7stays text, while-3becomes a number; trueandfalsebecome booleans, case-sensitively —TRUEstays a string;- an empty field becomes an empty string, never
null; - the text
nullstays the string"null", because CSV has no way to express absence.
One more, easy to miss: the space around a delimiter is part of the field. In 1, 2 the second value is " 2" — a string, with its space, not the number 2.
When a row does not match its header
It is an error, and deliberately so. Both Too many fields and Too few fields report the expected and parsed counts, which is enough to locate the line. Silently padding or truncating would shift every column after the mistake and give you a file that looks fine.
Truly blank lines are skipped. A row whose fields are all empty is kept — it is a real row.
Private by design
Everything runs locally in your browser with JavaScript. Your data is never uploaded, which makes the tool safe for sensitive content, and it keeps working offline.