Merge CSV Files

Combine several CSV files into one. Match columns by their header names so the data lines up even when files differ, keep every column that appears, or stack files in order. A quick way to consolidate exports without opening a spreadsheet.

Read the guide: How to Merge CSV Files
Drag CSV files here, or

Everything runs on your device. Files never leave your browser.

How it works

  1. 1

    Add your CSV files

    Drop in two or more .csv files. They are listed in the order you add them.

  2. 2

    Choose how to align columns

    Match columns by header name, keep only the first file’s columns, or line them up by position.

  3. 3

    Download the merged CSV

    Get one CSV containing every row, with columns aligned the way you chose.

Instant & 100% private — nothing is uploaded

Everything runs locally in your browser. Your files are processed on your own device and are never sent to a server, so there are no upload waits, no size limits from us, and nothing is ever stored or logged.

Frequently asked questions

What if the files have different columns?
In the default mode, columns are matched by their header names and every column that appears in any file is kept. Where a file is missing a column, those cells are left blank, so no data is dropped and the columns stay aligned. You can also keep only the first file’s columns if the extras are noise.
Do the headers have to be in the same order?
No. When you match by name, the order of columns in each file does not matter, because each value is placed under its own header. If your files have no headers, or you want a raw concatenation, the position mode lines columns up by their slot instead.
Will it keep duplicate rows from different files?
Yes. Merging keeps every row as-is, including any that repeat across files. If you want to collapse repeats afterwards, run the result through the duplicate-row remover.
Is my file sent to a server?
No. Everything runs locally in your browser. Your file is read and processed on your own device, nothing is uploaded, and nothing is logged or stored.