CSV → JSON
Parse CSV (quoted fields, any delimiter) into an array of JSON objects -- auto-detect delimiter, optional header row, type coercion, dot-path column unflattening into nested objects, duplicate-header renaming, and a column summary.
What this tool does
Paste or load CSV and get back an array of JSON objects, one per row, with column headers becoming keys — using an actual CSV parser rather than splitting each line on a comma, which breaks the moment a field contains one.
A real parser, not a naive split
A quoted field can contain the delimiter itself, a line break,
or an escaped quote, and none of that should end the field early.
This is parsed properly rather than by splitting text on commas,
so a value like "Doe, John" stays one field instead of
breaking into two. The delimiter itself — comma, semicolon, tab, or
pipe — is auto-detected by sampling the first few lines, or can be
set explicitly.
Turning flat columns into nested JSON
A CSV can only have flat column names, but the data they
represent is often naturally nested. With unflattening turned on, a
header like address.city creates a nested
address object with a city field, instead
of a flat key that happens to contain a dot — recovering structure
that CSV's format has no way to express directly.
Two silent-data-loss bugs this avoids
- Duplicate headers — if two columns share the same name, a naive converter has the second value silently overwrite the first in the resulting object. Here, the second occurrence is renamed instead, so both values survive in the output.
- A leading byte-order mark — CSV files exported from Excel commonly start with an invisible BOM character, which a naive parser leaves stuck to the front of the first header name, breaking every reference to that column. It is stripped automatically before parsing begins.
Privacy
Parsing and conversion both happen in your browser. Nothing you paste, drop, or load from a file is sent to a server.