Free web tool

CSV column renamer

Rename CSV headers in bulk using a mapping or a replacement header list.

Input & settings

How to use

Rename several CSV headers at once, such as name → product_name and price → unit_price. The data cells are left untouched; only the header row is mapped.

  1. Paste the CSV.
  2. Enter one mapping per line as old=new.
  3. Compare “Mappings” with “Renamed columns,” then download.

Mappings use exact CSV header names

With name=product_name, only a header exactly equal to name changes. The CSV header itself is not automatically trimmed or case-normalized, so Name and name are different names.

Mappings and renamed columns can be different counts

“Mappings” is the number of valid mapping lines read from the box. “Renamed columns” is how many headers actually changed in the CSV. If those numbers differ, a typo or a mapping for a column that is not present is a likely reason.

Data values do not change

Only the first header row is rewritten. Cell contents, row order, and column order stay the same. This is useful when a receiving system requires different field names but the data itself is already correct.

Duplicate output headers are possible

This tool does not validate a schema. If you map both first_name and last_name to name, the result can contain two columns named name. Check the header before sending the file into a system that requires unique names.

The mapping format stays deliberately simple

Lines without =, or with nothing on the left side, are not used as mappings. Leading and trailing spaces around the old/new names in the mapping box are trimmed. For a large rename set, the renamed-column count is the fastest first check that your map hit what you expected.

Want the deeper explanation?