Convert a CSV table to JSON records without guessing columns
Use this converter when an API, script or import process expects an array of JSON objects rather than spreadsheet rows. The first CSV record becomes the property names; each following record becomes one object. Values remain text, so a ZIP code such as 00123 keeps its leading zero instead of being treated as a number.
Commas, semicolons, tabs and quoted fields
The parser recognizes comma, semicolon, tab and pipe separators. Quotes protect embedded separators and line breaks: a quoted address containing a comma is one cell. When two different separators each produce a consistent table, the file is rejected rather than choosing an arbitrary layout. For example, id,name;role is ambiguous if subsequent records contain both separators in the same positions. Normalize the source to one clear delimiter before retrying.
Headers and data-loss safeguards
Empty or repeated column names receive unique replacements; existing names are not overwritten. Every data row must contain the same number of columns as the header. An invalid UTF-8 sequence, unfinished quote, or inconsistent row width stops the conversion. This avoids silently shifting a value into the wrong JSON property.
When to repair instead of convert
If some records have missing columns, start with Repair CSV and inspect any padded empty fields. To convert a valid CSV into tab-separated text, use CSV to TSV; for the reverse export use JSON to CSV. The local converter accepts at most 10 MiB of input, 50,000 rows, 200 columns and 100,000 characters per cell. Review the JSON structure before importing it into another system.