THE PRACTICAL GUIDE · NORMANDIN SYSTEMS
Get more from CSV to JSON
CSV to JSON converts CSV rows to JSON objects. CSV describes rows and columns; JSON can give each column a named property through a header row. Keep postal codes and account identifiers as strings when leading zeros matter. The current importer handles one physical line per record; quoted multiline cells are not supported. Check that the number of output records matches the number of data rows and that column names are unique. Use the worked example to understand what a successful result looks like, then compare it with a small sample of your own input. Keep the original available until you have checked the output in its destination. Conversion establishes a representation; it does not establish that the underlying information is correct or that the receiving application accepts every supported feature.
Guide updated October 13, 2026
How to use this tool
- Paste a header row followed by one physical line for each data record into Your raw CSV. Use distinct column names and start with the two-line worked example.
- Leave Typed values off to keep ordinary numeric-looking values as strings. Enable it when parsing supported numbers and booleans is appropriate for the destination.
- Inspect the JSON output, which updates from the input. The delimiter is detected automatically. Compare the record count, header names, and a leading-zero identifier.
- Copy or download the JSON and validate it in the receiving application. If the CSV has literal line breaks inside quoted cells, use a multiline-capable importer instead of this tool.
SEE IT IN PRACTICE
A worked example
name,age Ada,37
[{"name":"Ada","age":"37"}]With Typed values off, the header names become keys and age remains the string "37". Turning Typed values on parses this unquoted value as a number.
Physical rows, quoted cells, and importer limits
CSV conventions allow a quoted cell to contain a newline, but this implementation first splits the input into physical lines. It therefore cannot preserve a multiline quoted record. Do not use successful-looking output as proof that such a file was imported correctly. Keep one physical line per record for this tool, or use another parser when line breaks within cells are essential.
The delimiter is detected from the input. A quoted comma can remain within a field, but headers are split separately and should be simple, distinct names. Test a leading-zero identifier and an empty final cell before converting an export. Remove unintended blank lines and compare the number of output records with the intended row count.
Strings, numbers, and empty cells
CSV does not declare a type for each column. The text 00123 could be a postal code, an identifier, or a number, and converting it to a number would discard meaningful zeros in the first two cases. Decide which columns should remain strings. Also inspect an empty cell: a missing property, an empty string, and null mean different things to a JSON consumer. Use rows containing those cases before converting a complete export.
When this tool is useful
- Prepare API test data from a table while retaining a separate copy of the source.
- Use a small example to troubleshoot CSV delimiter and header problems and identify a representation mismatch.
- Create structured fixtures from spreadsheet exports without manually rewriting every field or symbol.
Tips for a better result
- Keep Typed values off when identifiers must retain leading zeros. An unquoted null is converted to null even with that option off; quote it when you need the word as text.
- Use one physical line per record. This importer splits input at newlines before parsing cells, so an actual newline inside a quoted CSV cell is unsupported. Use a CSV parser with multiline-record support for that case.
- Check record counts, unique headers, empty cells, and trailing blank lines. Input delimiters are detected automatically; there is no input-delimiter selector. Cells are trimmed during parsing, so verify any meaningful surrounding whitespace.
Frequently asked questions
Do CSV numbers automatically become JSON numbers?
The Typed values checkbox controls parsing of ordinary numbers and booleans. It starts off. Leave it off for identifiers whose exact text and leading zeros matter, then inspect the actual JSON.
What happens to an empty cell?
An empty cell becomes undefined internally, so its property is omitted when the result is serialized to JSON. An unquoted null becomes null. A quoted empty string remains an empty string. These are different values for a JSON consumer.
Can headers repeat?
Repeated names can collide when columns become object properties. Give distinct columns distinct names before relying on the JSON output.
What happens to the information I enter?
The utility processes your input in this browser. Some tools retain field values in browser storage or the URL; avoid entering secrets in shareable fields. Page and asset requests still go to the hosting provider. Read the privacy and offline-use notes for details.