Identifiers should usually stay strings

Postal codes, product codes, and account numbers can contain leading zeros that numeric conversion removes.

Use conservative boolean rules

Exact case-insensitive `true` and `false` are safer than guessing that yes/no or 0/1 are always booleans.

Distinguish empty from null

An empty CSV cell and the literal word `null` may represent different source meanings.

Preview the inferred schema

Show a type summary by column and let the user disable inference before exporting the final data.

Protect precision and formatting

The converter infers only exact true, false, null, and conservative decimal or exponent forms. Leading-zero values, surrounding whitespace, non-finite numbers, and integers outside JavaScript's safe range remain strings. Dates also remain strings because a bare date does not identify a timezone or business meaning. Disable inference when identifiers, fixed-width codes, decimal precision, or the distinction between empty text and a missing value must remain exactly as supplied.

Flatten with a destination schema in mind

JSON objects can be flattened into dot paths for tabular export, while arrays and other nested values remain JSON text inside one cell. A source key containing a dot can collide with a path created from nesting, so the tool stops rather than overwriting a value. CSV strings beginning with formula characters are prefixed with an apostrophe to reduce spreadsheet formula injection risk, and the result reports that change. Verify those protected cells and the final header names in the receiving database or spreadsheet.