CSV Merger
Combine any number of CSV files into a single file. Columns are matched by their header names, so files with a different column order or extra columns merge cleanly. Optionally remove duplicate rows and add a column showing which file each row came from.
How to use the CSV Merger
- Add your CSV files: choose several at once or drop them on the upload area. Add more at any time.
- Put them in order with the arrows; rows are appended in that order.
- Choose how columns are matched: by header name (recommended) or by position.
- Pick extras: remove duplicate rows, add a source file column, change the output delimiter.
- Check the preview and column list, then click Download merged CSV.
Matching by name vs by position
| Input files | By header name | By position |
|---|---|---|
a.csv: Name,Emailb.csv: Email,Name | One Name and one Email column, values lined up correctly | b.csv's emails end up under Name |
a.csv: Name,Emailb.csv: Name,Email,Phone | Three columns; Phone is empty for rows from a.csv | Phone values appear in an unnamed third column |
| Files with no header row | Not applicable (untick Files have a header row) | Rows stacked exactly as they are |
Tips
- Export with the same settings. Monthly exports from the same system usually share a header, so they merge perfectly by name.
- Watch the column chips. A column shown in orange exists only in some files; this often reveals a renamed header such as signup date vs Signup_Date.
- Opening in Excel? Tick Add UTF-8 BOM so accented names display correctly, or convert the result with CSV to Excel. To cut a large merged file into parts again, use the CSV Splitter.
Frequently asked questions
How do I merge multiple CSV files into one?
Select all the CSV files at once (or drop them on the page). They are combined immediately: the header row appears once at the top and every file's data rows follow in the order shown. Click Download merged CSV to save the result.
What if my CSV files have different columns?
With Match columns set to 'By header name', every column from every file is kept. Rows from a file that lacks a column simply have an empty cell there. The column list above the preview shows which columns are missing from some files.
Do the columns have to be in the same order?
No. Columns are matched by name, so Email, Name in one file and Name, Email in another line up correctly. With 'Ignore case and extra spaces' ticked, 'E-mail ' and 'e-mail' are also treated as the same column.
How does duplicate removal work?
When Remove duplicate rows is ticked, a row is dropped if every one of its values exactly matches a row already kept (from any file). The first occurrence stays. The source file column is ignored when comparing.
Can I tell which file each row came from?
Yes. Tick Add source file column and a column (named source_file by default) is added with the original file name for every row.
Is there a limit on file size or number of files?
No fixed limit. Merging happens in your browser's memory, so even hundreds of files or a few hundred MB in total are fine on a typical computer.
Are my files uploaded?
No. The files are read and merged locally with JavaScript. Nothing leaves your device.