CSV Merger

Combines several CSV files into one, matching columns by header so that files with the same fields in a different order still line up correctly.

Live demo · real result from this tool

Drop files here

or paste with Ctrl+V · nothing is uploaded

Choose several files, or paste CSV below with a line containing only --- between files.

Loading the tool…

Processed on your device — nothing is uploaded.

How to use CSV Merger

  1. Select the CSV files to combine.
  2. Check the detected headers and normalise any near-duplicates first.
  3. Merge and download the combined file.
  4. Columns are matched by header name, not by position.
  5. Headers differing in case or whitespace become separate columns — normalise them first.
  6. Files are read locally; nothing is uploaded.

Header matching is what makes this safe

Stacking files by position breaks the moment one export has its columns in a different order, and the failure is silent — emails land in the phone column and nobody notices until someone tries to use the data. Matching on header names means a file with the same fields in any order merges correctly, and a file with an extra field gets a column with blanks elsewhere rather than corrupting the rows.

Check the headers before you merge

Near-identical headers are the usual problem: ‘Email’ against ‘email’ against ‘E-mail’, or a trailing space that nobody can see. Each variant becomes its own column, and the result looks merged while being split. Normalise the headers across your files first — lowercase, trimmed, consistent spelling — which takes a minute and prevents an afternoon of reconciliation.

Merging is not deduplicating

Combining two exports that overlap gives you duplicate rows, and removing them needs a decision about what makes two rows the same. Identical across every column is easy; identical email address with different names is a judgement call about which record wins. Decide that before merging rather than discovering it afterwards, and keep the source files so you can redo it differently.

Frequently asked questions

What if the files have different columns?
Choose union to keep every column that appears in any file, filling missing values with blanks, or intersection to keep only the columns that all files share. Union is safer when you do not want to lose data; intersection gives a tidy rectangular result.
Does column order have to match?
No. When matching by header name the tool maps each file's columns onto the merged header by name, so a file whose columns are in a different order still lands in the right places. Positional stacking is available too if your files have no headers.
Can I tell which file each row came from?
Yes. Turn on the source column and every merged row gets an extra field naming the file or block it came from, which makes it easy to trace a record back or to filter one source out later.
Does merging remove duplicate rows?
No — it combines. Deduplication is a separate step and needs a decision about what makes two rows the same, which depends on your data rather than on the file format.
Why did one column split into two?
The headers differ somewhere, such as case, a trailing space, or a hyphen against an underscore. Tick Match headers ignoring case and extra spaces to combine the first two kinds; for anything else, rename the header so it matches in every file before merging.

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close