Merge Spreadsheets
Combine several Excel or CSV files into one table, matching columns by name. Runs in your browser with no upload.
Loading the tool…
User reviews
No reviews yet. If you’ve used this tool, be the first to leave one.
Merge Spreadsheets: complete guide
Walk through the steps and examples, or jump straight to the topic you need.
At a glance
- Input
- Up to 20 CSV, TSV, TXT and Excel (xlsx) files, 20MB each. For xlsx you choose the sheet.
- Table size
- Reads up to 100,000 rows and 200 columns per file.
- Matching columns
- By default it matches by header name. Differences in leading or trailing spaces, letter case or inner spaces are treated as the same column. If you turn it off, columns are matched in order.
- Options
- You can add a file name column (source file) at the front, or keep completely identical rows only once.
- Saving
- Saves the combined table as 'merged.csv'. The preview shows only the first 8 rows. For xlsx formulas, only the saved values are read.
How to use Merge Spreadsheets
Add the files to merge
Drag in your Excel or CSV files. Each file shows its row count, and for xlsx you can pick the sheet. Remove a file you added by mistake with the remove button.
See how the columns line up
With 'Match columns by name' on, columns with the same name are joined even if the order differs. A column found in only some files is marked 'only in n files'.
Turn on the options you need
'Add a file name column' keeps track of the source, and 'Keep identical rows only once' filters out repeated rows. The result's row and column counts change right away.
Save as CSV
Check the notice about blank cells, then click 'Save as CSV'. Even if there are more rows than the preview shows, the saved file includes them all.
What it’s good for
Pasting by column order fails silently
If you just stack the files you got from each branch, one file may have name then department while another has department then name. Matching by position alone puts departments in the name column. The table looks fine and raises no error, so the mistake only shows up long after you have emailed it. That is why this tool matches by header name. Names that differ only in leading or trailing spaces or in letter case are treated as the same column.
It never silently drops missing columns
If only one file has a phone column, that column is kept, not deleted. Rows that came from files without a phone column are left blank there. And the screen tells you which file was missing which column, because tracing the cause from blank cells alone would mean reopening every file.
It uses the values Excel calculated
For xlsx files, it reads only the values you see on screen and does not recalculate formulas. If we recalculated, rounding or date handling could differ and produce numbers different from the original. The worst outcome is a merged table that means something different from the originals.
Worked examples
Two files with different column order
jan.csv: Name, Phone, Department (2 rows)
feb.csv: Department, Name, Phone, Note (2 rows)4 rows - 4 columns
jan.csv has no Note column, so those cells were left blank.Adding the source and removing repeated rows
The two files above + add a file name column
+ keep identical rows only once
(a row for Olivia appears identically in both files)3 rows - 5 columns - 1 identical row removedChoosing how to match
Swipe the table sideways to see the rest.
| Method | Fits when | What to check |
|---|---|---|
| Match columns by name (default) | Forms where different people changed the column order | Names with different characters, like Name and Full name, become different columns. |
| Match by position | The same form with no headers or inconsistent names | Every file must have its columns in the same order. |
| File name column | When you need to find which file a row came from | One more column, 'Source file', is added at the front of the result. |
When the result isn’t what you expected
The same content is split into different columns
The header characters differ. Differences in spaces and letter case are treated as the same, but 'Name' and 'Full name' are different columns. Make the original headers match and add the files again.
It says a file could not be read as a table
It is not a CSV or xlsx file. For an older xls or another format, save it again as xlsx or CSV in Excel and add it.
It says a file could not be opened
It may be a damaged or password-protected xlsx. In Excel, remove the password, save a copy and add that.
No more files can be added
The limit is 20 at a time. For the rest, add the merged CSV back in and join them on.
Key terms
- Header
- The column names written in the first row of the table. Columns are matched by these names.
- Completely identical row
- A row in which not a single cell value differs. If even one cell differs, it counts as a different row.
- Blank fill
- For a column a file did not have, the rows from that file are left empty there.
Merge Spreadsheets FAQ
What happens if column names are different?
Names that differ in characters, like Name and Full name, are treated as different columns. Before merging, make the headers the same in your files. Or choose to match by position, in which case every file must have its columns in the same order.
What if the same row is in several files?
With 'Keep identical rows only once' on, completely identical rows are kept once and you are told how many rows were removed. With it off, they all stay.
Can I tell which file a row came from?
Turn on the file name column and the original file name is added at the very front. When you later find an odd value, you know right away which file to open.
Are my files uploaded to a server?
No. They are opened and processed only inside this browser.
How do xlsx formula results come in?
It reads the value Excel last saved, as is. It does not recalculate formulas, so add files that you have finished saving in Excel.
Can I save as an Excel (xlsx) file?
Saving is CSV only. The saved 'merged.csv' opens directly in Excel.