GALAXY OF TOOLS

SHEETS SECTOR

CSV Merger – Combine Multiple CSV Files Into One

Combine many CSV files into one table: columns lined up by header name, a source column, duplicates removed.

Drop CSV or TSV files herePick several at once · read in your browser, never uploaded
3 files
  • sales-2026-01.csv3 rows · comma
  • sales-2026-02.csv3 rows · comma
  • sales-2026-03.csv3 rows · comma
9
rows from 3 files · 6 columns matched by name
3files
5columns
1duplicate rows found
0blank rows skipped
2files missing a column

Which file has which column

FileRowsOrder IDDateCustomerAmountDiscount
sales-2026-01.csv3✓✓✓✓—
sales-2026-02.csv3✓✓✓✓—
sales-2026-03.csv3✓✓✓✓✓

Merged rows

Source fileOrder IDDateCustomerAmountDiscount
sales-2026-01.csvA-1012026-01-04Asha Rao1200
sales-2026-01.csvA-1022026-01-11Ben Ortiz450
sales-2026-01.csvA-1032026-01-25Chen Li980
sales-2026-02.csvA-1032026-01-25Chen Li980
sales-2026-02.csvA-1042026-02-02Dara Singh2300
sales-2026-02.csvA-1052026-02-19Evans, Kim615
sales-2026-03.csvA-1062026-03-03Farah Khan1500150
sales-2026-03.csvA-1072026-03-14Gus Mendes7200
sales-2026-03.csvA-1082026-03-28Hana Ito3100310

Runs entirely in your browser. Nothing you enter or upload is sent to a server.

Free for everyone. If this tool saved you time, buy me a coffee.

Merge CSV files into one, with the columns lined up

Twelve monthly exports, one file per shop, or a download that arrived in parts: this CSV merger combines many CSV or TSV files into a single table. Unlike copying files end to end, it reads each file’s header and puts every value under the right column, even when one month’s export has its columns in a different order, an extra column, or a header spelled “customer” instead of “Customer”.

A “Source file” column records where each row came from, exact duplicate rows can be counted or removed, and a column map shows at a glance which file is missing which column. Save the result as CSV (comma, semicolon or tab) or as an Excel workbook.

The files are read and merged in your browser and are never uploaded, so sales, payroll and customer exports stay on your device.

How to merge CSV files

  1. Drop all the CSV or TSV files on the box at once, or click it to pick them. Three sample monthly files are loaded so you can see the result first; your first files replace them.
  2. Check the file list. Files are taken in name order, so sales-2 comes before sales-10; switch File order to “As added” to keep your own order, and press × to drop a file.
  3. Leave Line up columns on “By column name”, or choose “By position” when every file has exactly the same layout but different or no headers.
  4. Pick the extras: a source column, removing duplicate rows (for overlapping exports), skipping blank rows.
  5. Read the column map and the merged rows, then press Download merged CSV or Download Excel (.xlsx).

CSV Merger features

Columns matched by name

The merged header is the union of all headers in the order first seen; a file without a column simply leaves those cells empty.

Header spelling forgiven

Optionally ignores letter case and extra spaces, so “Order ID”, “order id” and “Order ID ” become one column.

Source file column

Every row is tagged with the name of the file it came from, ready for a pivot table or filter.

Duplicates found

Rows that repeat exactly after lining up the columns are counted, and can be removed — handy when exports overlap by a day.

Any delimiter and encoding

Commas, semicolons, tabs and pipes are detected per file; UTF-8 and Windows-1252 files can be mixed; quoted line breaks are kept.

CSV or Excel out

Save as CSV, semicolon CSV or TSV with an optional BOM, or as .xlsx with plain numbers stored as numbers and codes like 007 kept as text.

By column name or by position

In position mode the tool still compares each header row with the first one and warns you when they differ, because a swapped column in one file would put dates under “Order ID” without anyone noticing.

Your filesChooseWhat happens
Exports from the same system, columns sometimes added or reorderedBy column nameValues follow their header; new columns are added at the end.
Identical layout, header missing or worded differentlyBy positionColumn 1 goes under column 1; the first file’s header is used.
No header row at allUntick the header optionAll rows are kept and columns are named A, B, C…

Good to know before you merge

  • Values are copied as text exactly as they are in the files; nothing is recalculated, rounded or reformatted. In the Excel download, plain numbers such as 1500 become numbers, while 007, 1,250 and dates stay as written, so leading zeros and Indian or European number formats are not changed.
  • A duplicate is a row whose every merged column is identical; the source column is ignored when comparing. The first copy is kept.
  • Up to 200 MB of files can be merged at a time. One Excel sheet holds at most 1,048,576 rows (Microsoft’s published limit); for more, download the CSV or split it with the CSV Splitter.
  • To combine .xlsx workbooks instead of CSV files, use the Excel Merger; to keep each CSV as its own sheet in one workbook, use CSV to XLSX.

CSV Merger FAQ

How do I merge multiple CSV files into one?

Drop all the files here at once, keep “By column name” selected and press Download merged CSV. The header appears once, and every file’s rows follow in file-name order.

Can I combine CSV files with different columns?

Yes. Columns are matched by header name, the merged file has every column that appears in any file, and rows from files without a column get an empty cell there. The column map shows which file lacks what.

Will merging remove duplicate rows?

Only if you tick “Remove duplicate rows”. Without it, duplicates are counted and kept, so you can see how much the files overlap first.

Why do I see strange characters like é after merging?

Excel guesses the encoding of a CSV without a BOM. Keep the BOM option ticked, or download the Excel version, and accented letters and ₹ show correctly.

Are my CSV files uploaded?

No. They are read and merged by JavaScript in your browser, and the download is created on your device.

You might also need