Free web tool

CSV header normalizer

Normalize CSV headers to snake_case, camelCase, kebab-case, or safe identifier forms.

Input & settings

How to use

Turn headers such as Product Name and Unit Price (JPY) into consistent names such as product_name or productName. Only the header row changes; the data rows do not.

  1. Paste the CSV and choose snake_case, camelCase, kebab-case, or safe_identifier.
  2. Choose whether Latin letters should be lowercased.
  3. Review the before/after header map, then download.

This is more than cosmetic cleanup

Spaces, parentheses, full-width punctuation, and mixed naming styles can make headers awkward in APIs, scripts, and databases. The tool first applies Unicode NFKC normalization, separates words, then rebuilds the name in the selected style.

Camel-style boundaries are recognized too

A lowercase letter or digit followed by an uppercase letter creates a word boundary before tokenization. So productName can be understood as “product name” and rebuilt as product_name, productName, or another selected form.

Blank and duplicate normalized names are handled

If a header becomes empty after normalization, it falls back to column. If multiple headers normalize to the same name, later ones get suffixes such as _2 and _3 so the output header stays unique.

safe_identifier currently uses underscore joining

In the current implementation, safe_identifier also joins tokens with underscores, so it looks close to snake_case. It does not promise compatibility with every database or language; reserved words and destination-specific naming rules still belong to the destination system.

Only the header changes

Cell values, row order, and column order stay untouched. That makes this useful as a preparation step when the data itself is already correct but the field names need to be machine-friendly.

Want the deeper explanation?