CSV Merger
Combine CSV files: stack rows by header or join on a key column; export Excel.
About this tool
Add several CSV files. Stack mode appends all rows and lines up columns by header name (missing columns are left blank, an optional column records the source file). Join mode matches rows across files on a key column you choose and places their columns side by side. Preview, then download as CSV or Excel.
Two kinds of merge
Most CSV merging is stacking: twelve months of the same export, one file per region, one per campaign โ the columns are the same or nearly so, and you want one long table. Matching by header name rather than position is what makes this safe when someone added a column in March. The other kind is a join: two files describing the same things (customers by email, products by SKU) with different columns, which you want side by side โ a VLOOKUP across files, done for every row at once. Delimiters are detected per file (comma, semicolon, tab), quoted fields with commas inside are handled, and duplicate rows can be dropped. Everything runs on your device โ nothing is uploaded โ so customer exports are fine. Inspect the result in the CSV viewer, convert it with CSV to JSON or CSV to Excel, and clean addresses with the email list cleaner.
Frequently asked questions
What if the files have different columns?
Stack mode takes the union of all headers; rows from a file lacking a column get a blank in it. Header names must match exactly (case-sensitive).
How does join work when a key appears twice?
The last file's values win for that key; rows are output in the order keys are first seen. Deduplicate the inputs first if that matters.
Is there a size limit?
It runs in your browser's memory โ tens of megabytes is fine on a laptop; hundreds may be slow. Nothing is uploaded.
Why does Excel show strange characters?
The CSV is UTF-8 with a byte-order mark so Excel reads accents correctly; if you still see problems, use the Excel download instead.