この計算機の使い方
How the header row becomes the schema
CSV-to-JSON works on one assumption: the first row names the columns. The converter maps each header to an object key, and every data row becomes one object with those keys — the shape most APIs, scripts, and data pipelines expect. The mapping is literal: header names become keys exactly as written, so a header like "user name" produces the key "user name" with the space intact, and blank headers are named column_1, column_2, and so on so no data is dropped.
The strict part is the duplicate check: two columns with the same header would silently overwrite each other in a naive conversion, so the converter rejects the file with a clear error instead of losing data. If your spreadsheet has repeated headers, fix the source — the error names the column — rather than converting around it.
Why every value stays a string
CSV has no type information: a cell is text, and nothing in the format says whether "30" is the number thirty, the string "30", or a product code. The converter never guesses — every value is emitted as a JSON string, so "30" stays "30" and an empty cell stays an empty string. Type conversion (string to number, string to boolean) belongs in the receiving application, where the decision is explicit and testable.
That discipline is the honest behavior for a data tool: guessing types at conversion time looks convenient until a leading-zero id like "007" silently becomes the number 7. The example on this page shows the difference directly — the age "30" is quoted in the output on purpose.
Handling the messy cases: quoting, delimiters, newlines
Real spreadsheet exports are not simple comma-separated text. RFC 4180 covers the cases that break naive parsers: a field containing a comma, a quote, or a line break is wrapped in double quotes, and a double quote inside a quoted field is doubled ("") so it is distinguishable from the closing quote. The converter parses all of it — embedded commas, escaped quotes, multi-line cells — which is why a "New York, NY" value stays one cell and a cell containing a newline stays one field.
Delimiters are the other point of friction: European exports commonly use semicolons, and tab or pipe delimiters appear in tools and exports. The converter auto-detects the delimiter from common candidates, with a manual override when detection picks wrong — the selector makes the choice explicit rather than silent.
The local promise
Customer lists, internal spreadsheets, and payroll exports are precisely the data that should not be uploaded to a converter on the internet. Everything runs in your browser: the CSV is parsed locally, nothing is uploaded, logged, or stored, and copy and download actions deliver the JSON where it is needed. The honest limits are on the page too: the converter reads the whole file into memory, so it is built for typical spreadsheets, not database dumps.