Merge CSV files

Drop monthly exports, per-region reports or split files and stitch them into a single CSV. Columns are matched by header name, so files with a different column order still line up.

Loading the tool…

How to use it

  1. Drop two or more CSV files (or add them one by one).
  2. Choose how to match columns: by header name (union), only shared columns, or by position.
  3. Optionally add a column recording each row’s source file, then download.

Private by design

The conversion runs as JavaScript in this tab. Your data is not uploaded, logged or stored. There is no account and no file-size paywall.

Stacking vs joining

This tool stacks files vertically (the rows of file B go under the rows of file A), which is what you want for exports of the same kind of data. Joining side by side on a key column, like a SQL JOIN or VLOOKUP, is a different operation.

When the columns do not match

“All columns” keeps every column from every file and leaves blanks where a file lacks one. “Only shared columns” keeps just the columns present in every file. “By position” ignores header names and assumes all files have the same layout.

Questions

Is my file uploaded anywhere?

No. The file is read by JavaScript in this tab and never leaves your device. You can load the page, switch off Wi-Fi and it keeps working.

How many files can I merge?

As many as your browser memory allows; merging dozens of files with thousands of rows each is quick.

Will the header row be repeated in the output?

No. Each file’s header is read once and the output has a single header row.

Can I remove duplicates after merging?

Yes. Download the merged file and run it through the duplicate remover, or tick “Remove duplicate rows” here.

Related tools