Staaarter

CSV Column Renamer

Renames one or more header cells in a CSV using a newline-separated list of oldName:newName pairs; only the header row changes, every data row is left untouched. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-29
By Staaarter Team
columnstructuraledit

Overview

Introduction

Header names from an external export rarely match the naming convention your own tools or database expect, snake_case versus camelCase, abbreviations, inconsistent capitalization.

This tool renames as many header cells as you need in one pass, using a simple oldName:newName list.

What Is CSV Column Renamer?

A structural CSV tool that relabels one or more header cells based on a newline-separated list of oldName:newName pairs, leaving every data row's values completely untouched.

Every pair is matched against the header row by exact text; unmatched names are reported as an error rather than silently skipped.

How CSV Column Renamer Works

The rename list is parsed line by line, splitting each on its first colon into an old name and a new name, building a lookup map.

The CSV's header row is checked against that map: every old name must exist in the header, and the header row is rebuilt with matching cells replaced by their new names before re-serializing the CSV.

When To Use CSV Column Renamer

Use it when importing a CSV from an external source whose column names don't match your own schema's naming convention.

It's also handy for quickly clarifying a vague or abbreviated header (like "amt" to "amount") without opening a spreadsheet.

Features

Advantages

  • Renames multiple columns in a single pass via a simple text list, no per-column UI needed.
  • Validates every old name against the actual header row, catching typos immediately instead of silently doing nothing.
  • Leaves data rows completely unaffected, this is purely a labeling change.

Limitations

  • Old names must match the header text exactly, including capitalization and whitespace.
  • There's no bulk pattern-based renaming (like a regex find-and-replace) across headers, each pair is a literal one-to-one mapping.

Examples

Renaming two columns at once

Input

id,amt,nm
1,120,Ada
2,90,Alan

Output

id,amount,name
1,120,Ada
2,90,Alan

With the pairs "amt:amount" and "nm:name", both header cells are relabeled; data rows are unchanged.

Best Practices & Notes

Best Practices

  • Copy the exact header text from your CSV's first row when writing the oldName side of each pair, to avoid an exact-match failure from a stray space or typo.
  • Rename ambiguous or inconsistent headers before running CSV Column Sorter, so the alphabetical order reflects your final, clear names.
  • Keep one pair per line even when renaming many columns, it's easier to review and edit than a single combined expression.

Developer Notes

Splits each non-empty line on its first `:` via `indexOf`, so a replacement name that itself contains a colon is preserved intact on the right-hand side; every old name is then checked for membership in the actual header array before any rename is applied, so a partial, silently-incomplete rename never happens.

CSV Column Renamer Use Cases

  • Normalizing an externally sourced CSV's headers to match your own naming convention before import
  • Clarifying abbreviated or vague header names for a shared or published CSV
  • Relabeling several columns at once as part of a larger CSV cleanup pass

Common Mistakes

  • Mistyping or mis-capitalizing an old header name, causing a not-found error instead of a silent no-op.
  • Expecting data values to change along with the header, renaming only relabels the header cell.

Tips

  • If you're unsure of the exact header text, extract it first with CSV Column Extractor or simply check the first line of your input.
  • Combine with CSV Column Sorter afterward to both clarify and alphabetize your CSV's columns in two quick steps.

References

Frequently Asked Questions