How to Merge Excel Files — 5 Methods for Mac & Windows
Updated May 2026 · Covers .xls, .xlsx, CSV, and into-one-sheet workflows
If you've ever needed to combine multiple Excel files into one — three monthly reports, 50 department spreadsheets, an entire folder of CSVs from a data export — this guide covers the five practical methods in 2026, when each one fits, and where each one falls short.
Why people need to merge Excel files
Combining multiple Excel files into one is one of the most common spreadsheet tasks that Excel itself doesn't make easy. Some real-world scenarios:
- Monthly or quarterly rollups — combining 12 monthly sales files into a single annual workbook for analysis or filtering.
- Department consolidation — merging spreadsheets returned by 50 stores or 20 regional offices into one master file.
- CSV exports from databases or SaaS tools — many systems export one file per page, week, or category; you need them combined to actually work with the data.
- Pre-import cleanup — combining files before bulk-loading into a CRM, accounting system, or BI tool.
- Backup consolidation — folding multiple incremental export files into one canonical workbook.
The five methods below trade speed against control. The right pick depends on how many files you're merging, whether you need transformations along the way, and how sensitive the data is.
Method 1: Bulk File Merger (recommended for many files)
Bulk File Merger is a desktop app for Windows and macOS that combines Excel (.xls and .xlsx), CSV, and text (.txt) files locally on your computer. It's the right pick when you need to merge more than a handful of files, work with data that shouldn't leave your machine, or just want the simplest possible workflow that doesn't require Excel itself.
- Handles dozens or hundreds of files in one job
- Files never leave your computer
- Works without Excel installed
- Native Windows and macOS builds
- 30-day money-back guarantee
- Merges .xls, .xlsx, CSV, and text files
- Requires download and install
- Paid app after 30-day trial
- Concatenates row-wise — no joins or transformations
Step-by-step
- Download Bulk File Merger — install the free trial on Windows or macOS.
- Pick Excel as the file type from the dropdown when the app opens.
- Add your files — point at a folder, or select individual .xls / .xlsx files. Files merge in the order they appear in the folder, so name them
01_jan.xlsx,02_feb.xlsxetc. if order matters. - Click Merge. Bulk File Merger appends the rows of each file end-to-end into a single combined workbook.
- Save the merged output to a destination of your choice. Your originals are untouched.
Method 2: Excel Power Query — Get Data from Folder
If you already have Microsoft 365 Excel (Windows or Mac), the built-in Power Query feature can merge files in a folder without an extra tool. It's harder to learn than a desktop merger but offers transformation power along the way — filtering rows, renaming columns, deduplicating — before the merge runs.
Workflow: Data → Get Data → From File → From Folder, point at the folder containing your Excel files, then Combine & Load. Excel will detect the shared schema and stack the data, optionally adding a column with the source filename so you can tell which row came from where.
- Built into Excel — nothing extra to install
- Can transform data during merge (filter, rename, type-convert)
- Refreshable — drop new files into the folder and click Refresh
- Tracks source file in an added column
- Steep learning curve for first-time users
- Requires Microsoft 365 or Excel 2016+
- Files must share the same column structure or Power Query throws errors
- Slow on very large file sets (50+ files of 100k rows each)
Method 3: VBA macro (technical, one-off use)
If you're comfortable with VBA and want a self-contained script you can re-run, a short macro can do the merge. A common pattern:
Sub MergeExcelFiles()
Dim fName As String
Dim wbkSrc As Workbook, wbkDst As Workbook
Dim folder As String
folder = "C:\path\to\folder\"
Set wbkDst = Workbooks.Add
fName = Dir(folder & "*.xlsx")
Do While fName <> ""
Set wbkSrc = Workbooks.Open(folder & fName)
wbkSrc.Sheets(1).UsedRange.Copy _
wbkDst.Sheets(1).Cells(wbkDst.Sheets(1).UsedRange.Rows.Count + 1, 1)
wbkSrc.Close False
fName = Dir
Loop
End Sub
- Free, no extra software
- Scriptable and reusable
- Customizable to handle weird file layouts
- Requires VBA knowledge to write, debug, and maintain
- Macros can be blocked by corporate security policies
- Doesn't help non-technical colleagues who'll need to repeat the task
Method 4: Online tools (quick but risky for sensitive data)
Browser-based Excel-merge services let you drag in a few files and download the combined result. Fine for non-sensitive data and small jobs — but every file is uploaded to a third-party server.
- Nothing to install
- Fine for tiny non-sensitive files
- Files are uploaded — never use for HR, financial, or customer PII data
- Free tiers cap file size and count
- Requires reliable internet
- Output may strip formulas or formatting
Method 5: Manual copy-paste (small jobs only)
Open every source file, copy the rows, paste into a destination workbook. Acknowledged for completeness — but error-prone and slow above 3-4 files. If you find yourself doing this repeatedly, switch to one of the methods above.
Merge multiple Excel files into one sheet vs. preserving each file as a tab
Two different outcomes people mean by "merge":
- One combined sheet — all rows from all files stacked together in a single worksheet. This is what Bulk File Merger does by default, and it's what most analytic workflows want because you can then filter, pivot, and chart the whole dataset at once.
- One workbook, many tabs — each source file becomes its own tab inside a single .xlsx file. Use Power Query's "Append" mode and choose to preserve source sheets, or copy each source workbook's sheet into a destination workbook manually.
If you're not sure which one you need, start with the one-sheet output. It's the more flexible base — you can always split it back into tabs later by source-file column.
Merging .xls and .xlsx files together
The legacy .xls format (Excel 97-2003) and the modern .xlsx format (Excel 2007+) can be merged into the same output. Bulk File Merger reads both formats natively. Power Query reads both. Online tools usually do too, though some require you to pre-convert .xls files to .xlsx.
Caveat: .xls has a hard limit of 65,536 rows per sheet. If your combined output is going to exceed that, save the output as .xlsx (1,048,576 row limit) regardless of what the inputs were.