Merge Excel Files

Combine several .xlsx, .xlsm or .csv files into one workbook: every sheet copied in with its formatting, or one sheet from each file stacked into a single table with its columns lined up by header.

Nothing is uploaded. Your files are merged in your browser and never sent anywhere.

This tool lets you merge Excel files into one workbook in your browser: drop in two or more .xlsx, .xlsm or .csv files and either copy every worksheet of every file into one workbook, formatting included, or stack each file's rows onto a single sheet. The usual case is twelve monthly exports from the same system, each with its one sheet called Sheet1, that someone now wants as one file for the year.

How to merge Excel files with this tool

  1. Drop two or more .xlsx, .xlsm or .csv files on the box, or click to browse and pick several at once. You can add more files afterwards. They're read on your computer and never uploaded.
  2. Put the files in order with the up and down arrows next to each one, or remove one with the cross.
  3. Choose "Every sheet, one workbook" or "Stack into one sheet". The table below shows the difference.
  4. For Every sheet, check the list of sheet names the merged workbook will have and the note of anything that won't come across. For Stack, pick which sheet to take from each file: the first one, or a sheet with a given name.
  5. Click "Merge N files into one workbook" or "Stack N files into one sheet", read the notes on the result, then click "Download .xlsx". The file is called merged (xlsx.com).xlsx, and your own files are left unchanged.

Every sheet or one stacked sheet

"Put all of these in one file" means Every sheet. "Give me one list I can filter and pivot" means Stack.

Every sheet, one workbookStack into one sheet
Sheets in the resultEvery worksheet of every file, in file orderOne sheet, named Merged
Which sheets are readAll worksheets, hidden ones includedOne per file: the first visible sheet, or the one you name
FormattingKept: number formats, fonts, fills, borders, merged cells, widths, heights, frozen panes, notes, pictures, conditional formattingValues and number formats only
FormulasKept when they refer only to their own sheetAll become their calculated values
Where a row came fromThe sheet tab, named after the file when names clashColumn A, "Source file"

Hidden sheets stay hidden in the merged workbook, and it opens on the first visible sheet. Stack mode's header row is bold, frozen and has filter buttons; completely empty rows are skipped.

What happens to formulas, names and tables

A formula that reads only its own sheet stays a live formula. If the sheet had to be renamed, a reference to its own old name is updated with it: 'Sheet1'!B1 becomes 'January - Sheet1'!B1.

A formula that reads another sheet becomes its last calculated value, even when that sheet came from the same file. A Summary tab reading =SUM(Data!C2:C400) arrives as the number it last showed, and the result says how many formulas this happened to. The tool removes dropdown lists, conditional formats and in-workbook links that point at another sheet, so none can end up pointing at another file's sheet of the same name. It leaves out validation built on a relative cell reference, or with a formula as its number limit, rather than copy it wrong. The result counts both.

Excel tables come across as tables. When two files both have a table called Sales, the tool renames the second Sales_2 and updates the formulas on its sheet that use it. Some tables with calculated or totals columns can't be read correctly; those arrive as plain ranges with their values and formatting, and the result says how many.

Named ranges that belong to one sheet come along. If another file already used the name, formulas using it hold their values instead. Excel recalculates the merged workbook on opening.

Before you merge, the page lists what won't come across: charts, shapes and text boxes, pivot tables, slicers, sparklines, form controls and chart sheets are left out, and comment threads arrive as plain notes. An .xlsm's macros and any data connections stay behind. The merged file is always .xlsx.

When every file has a sheet called Sheet1

The tool names each clashing sheet after its file: the file name alone for a one-sheet file, "file - sheet" for a file with several. A sheet whose name no other file uses, ignoring case, keeps it.

Twelve one-sheet exports, January.xlsx to December.xlsx, all holding Sheet1, give tabs named January to December. Q1.xlsx and Q2.xlsx, each with a Summary among several sheets, give "Q1 - Summary" and "Q2 - Summary". Names stay within Excel's 31-character limit; anything still clashing gets " (2)", " (3)".

Excel's Move or Copy names the copy "Sheet1 (2)", leaving twelve tabs to rename.

Stacking files with different column headers

In Stack mode each sheet's header is its first row with anything in it, and columns line up by header, not position. Matching ignores upper and lower case and spaces at either end, so "Amount", "amount" and "Amount " share a column, spelled the first way the tool saw it. The tool adds a column only some files have on the right, leaves it blank for the files without it, and lists it in the result.

  • The tool matches a header that appears twice in one file by occurrence, so the second "Amount" lines up with the second "Amount" of the other files.
  • A blank header cell becomes "Column C", named by its column letter.
  • The tool finds a sheet picked by name in any case. If a file lacks it, the page names that file, and nothing stacks until you remove it or pick another sheet.

Power Query's Combine Files builds its column list from one sample file, the first by default, so a column that appears only in later files is dropped without a warning. It also matches headers case-sensitively, so a later file's "region" doesn't line up with the sample's "Region".

What the tool won't fix: headers spelled differently. "Qty" and "Quantity" end up as two columns, so rename one in its file before merging. A report title above the headers becomes the header row instead of the real one.

CSV files in the merge

CSVs can go in alongside workbooks. The tool reads them the way the CSV to Excel converter does: it detects the delimiter (comma, semicolon, tab or pipe) and the encoding, numbers and ISO dates like 2026-03-04 become real numbers and dates, and codes with leading zeros stay text, so ZIP code 02134 doesn't lose its zero. In Every sheet mode each CSV's sheet is named after its file.

Doing it in Excel without the tool

Move or Copy, for keeping sheets as tabs. Open both workbooks, right-click a sheet tab in the source, choose Move or Copy, pick the destination under To book, tick Create a copy and click OK. To copy a whole file, pick Select All Sheets from that menu first. Sheets copied together keep the formulas between them live, which this tool doesn't, so a workbook whose summary sheet reads its data sheets is better merged this way. The costs: a formula reading a sheet you didn't copy becomes a link to the source file, shown as =[January.xlsx]Rates!B2 while that file is open and as its full path once it's closed. A named range defined in both workbooks brings up the "name already exists" prompt, once per name. And Excel won't move or copy a group of sheets when any of them holds a table, so those go one at a time.

Power Query, for stacking a folder. Put the files in their own folder, then Data > Get Data > From File > From Folder, pick the folder and choose Combine > Combine & Load. Power Query adds a Source.Name column with each row's file name. Its strength is repetition: drop next month's file in the folder, click Data > Refresh All and the table updates. Keep the headers identical across files, for the sample-file reason above.

Limits

  • File types. .xlsx, .xlsm and .csv only. Legacy .xls, .xlsb and .ods files aren't accepted; open them in Excel and save as .xlsx first.
  • Size. 50MB for all the files together, not per file. The page refuses a file that would take the total past 50MB and says which one.
  • Password-to-open files. The tool flags a file with a password to open, or one that isn't a workbook, in the list and leaves it out of the merge.
  • No sheet picking in Every sheet mode. The tool copies every worksheet of every file.
  • Excel's sheet limits. Stack mode refuses when the rows come to more than 1,048,576 or the columns to more than 16,384, as does a single CSV over 1,048,576 rows.

To clear orders repeated across files, run the merged file through Remove Duplicates, untick Source file and tick only the order ID column: Source file differs for every file, so with it ticked a repeat in a second file never matches the first. To go the other way and turn one workbook into a file per sheet, use Split Excel by Sheet.

Questions

How do I merge multiple Excel files into one workbook?

Drop the files on this tool, choose Every sheet, one workbook, and download merged (xlsx.com).xlsx with every worksheet of every file in it. In Excel itself, open all the files, right-click a sheet tab, pick Move or Copy, choose the destination workbook under To book and tick Create a copy, then repeat for each file.

How do I combine multiple Excel files into one sheet?

Use Stack into one sheet: it takes one sheet from each file and puts the rows one under another on a sheet called Merged, with the file name of each row in a Source file column. Columns with the same header line up. In Excel, Data > Get Data > From File > From Folder does the same job with Power Query.

How do I merge Excel files without losing formatting?

Copy whole sheets rather than rows. The Every sheet mode keeps number formats, fonts, fills, borders, merged cells, column widths, row heights, frozen panes, notes, pictures and conditional formatting. Stacking into one sheet keeps only values and number formats, so dates stay dates but colours and borders are dropped.

Can I merge CSV files into one Excel file?

Yes. Drop the CSVs in with or without .xlsx files: each CSV becomes one sheet named after the file, or its rows are stacked with the others. The delimiter and encoding are detected, and codes with leading zeros such as 02134 stay text.

How do I combine Excel files with different column headers?

Stack them by header name, not by position. The tool matches headers ignoring upper and lower case and spaces at either end, and adds a column only some files have on the right, blank for the rest. Headers spelled differently, like Qty and Quantity, still end up as two columns, so rename one before merging.

Why does Excel say a name already exists when I copy a sheet?

Both workbooks define a named range with the same name, and Excel asks which one the copied formulas should use, once for every clashing name. Click Yes to use the destination's name or No to rename the copy's. Check Formulas > Name Manager in both files first to see how many clashes are coming.