CSV Join and Merge Tool Free
Combine two CSVs into one, either by stacking rows with matching headers or by joining rows that share a value in a key column.
Paste text instead
Paste text instead
How to combine
About this tool
Stacking aligns columns by matching header names; a column that exists in only one file is left blank in the other.
Joining matches rows where the chosen column's value is equal in both files, similar to Excel's VLOOKUP.
This tool runs entirely in your browser. Your files are never uploaded to our server.
When to use it
If you have the same kind of data split across several CSVs, such as one per month, stacking combines them into a single file.
If you have, say, order data and a customer list that share a common ID column, joining horizontally lines them up into one table (similar to Excel's VLOOKUP).
How to use
- Load a first CSV and a second CSV (both are read with the first row as a header).
- Choose how to combine them: "Stack vertically" aligns matching headers and piles up rows, while "Join horizontally" matches rows by a key column's value.
- For a horizontal join, choose the key column in each CSV.
- Check the result in the table, then save it as a CSV.
How the two modes differ
Stacking compares the headers of both files and aligns columns with the same name, piling the rows on top of each other. A header that exists in only one file is left blank for every row from the other file.
Joining horizontally uses the rows of the first CSV as the base, and for each one looks for a row in the second CSV whose key column matches; columns other than the key are then added. If a row has no match, it is kept and the added columns are left blank, and if the second CSV has more than one row with the same key value, only the first one found is used.
FAQ
- Does this work with a CSV that has no header row?
- This tool always treats the first row as a header, so a file without one will have its first row of actual data treated as headers instead. Add a header row before loading it.
- What order are the columns in after stacking?
- The headers from the first CSV come first, followed by any headers that appear only in the second CSV.