ConvertCSV

Browser-based CSV transform

Rename CSV Columns

Rename CSV headers with old=new pairs in one step. Everything runs locally in your browser — paste CSV, set options, preview, then copy or download.

Input

Paste CSV or upload a file

Options

Configure how this transform runs

Output Preview

Transformed CSV

Run the transform to preview CSV output here.

Rename CSV Columns

Most imports fail on headers before they fail on data. A bank export might call a field Txn Date while the ledger template expects date, and a short Amt header has to become amount. This tool accepts one list of old=new pairs and rewrites the header row in a single pass, leaving every data value where it was.

Each old name is looked up in the file's header row. Lookup ignores letter case, so amt=amount finds Amt. A name that is not present produces an error that lists the available headers, so a typo never passes silently into the output.

Key features

  • Many renames applied from one comma-separated list
  • Case-insensitive matching against the existing headers
  • Explicit error for unknown or malformed pairs
  • Data cells copied through unchanged

About the CSV to CSV with new headers format

Only the header row changes. Column order and every cell value are copied as they were. Pairs are separated by commas or line breaks, and each pair is split at its first equals sign, which means a new name is allowed to contain an equals sign itself.

Before the file is written, the tool checks that the header row still has unique names. If a rename would land on a name that another column already carries, the whole run is refused.

How it works

The tool splits the list into pairs, resolves each old name against the header row, and records the new name for that position. It then writes the header row with the new names, followed by every record re-keyed to match.

Common use cases

  • Matching a bank's Txn Date, Desc, Amt export to the date, description, amount columns of an accounting import.
  • Replacing survey column codes such as Q1_a with readable question labels before sharing the file.
  • Cleaning headers that have stray capitals or spaces before a database load that is strict about names.
  • Lining up two regional files so their headers agree before combining them with Merge CSV.

How to use this tool

  1. Paste the export, or upload it, with the header names in its first line.
  2. Type each rename as old=new and separate the pairs with commas, for example Txn Date=date, Desc=description.
  3. Read the new header line in the preview to confirm each pair applied.
  4. Download the file once the names match the destination's template.

Example

Input (bank export, two rows)

Txn Date,Desc,Amt
2026-10-01,Coffee,-4.50
2026-10-02,Rent,-1200.00

Output with Txn Date=date, Desc=description, Amt=amount

date,description,amount
2026-10-01,Coffee,-4.50
2026-10-02,Rent,-1200.00

Tips for best results

  • Copy the old names from the first line rather than retyping them, so spelling matches; letter case may differ.
  • Rename before merging. Merge CSV unites headers by exact name, so Amt and amount from two regions would otherwise survive as two columns.
  • If the destination also needs a fixed column sequence, run Reorder CSV Columns on the renamed output.

Common errors and how to fix them

Column "Amount" was not found. Available columns: Txn Date, Desc, Amt.
The file header is Amt, not Amount. Copy the exact header from the message, since spelling is checked even though letter case is not.
Rename "Desc" must use the form old=new.
Each pair needs an equals sign between the old and new names. Write Desc=description rather than only the old name.
Renaming would create duplicate column names.
A new name matches a header you did not rename, such as renaming Desc to Amt while Amt is still present. Rename the other column in the same list, or pick a different name.

Frequently asked questions

Does renaming touch the values in the rows?

No. Only the header line is rewritten. Each cell is copied through as it was typed in the file.

Can a header be renamed to an empty string?

No. Both sides of a pair must contain text, so an empty new name is reported as an error instead of producing a blank header.

For more background on data formats and conversion workflows, read our format guides.