Free tool · XLSX + CSV → one workbook · Client-side · No sign-up

Merge Excel Files Online

Drop several .xlsx or .csv files and combine them one of two ways: stack every row into a single sheet with columns matched by header name (so files with slightly different column sets still line up correctly), or keep every file as its own tab in one workbook — all built and downloaded without the files leaving your browser.

Nothing leaves your browser — reading, merging, and export all run locally in JavaScript.

Why this Excel merge tool processes files in your browser

Most of the results for "merge excel files online" — excelmergeonline.com, iLovePDF, mergespreadsheets.com, docsoso.com — work by uploading every file you want merged to a server first. That's a lot of exposure for something as routine as combining five monthly sales exports: each one passes through a third party before you get the combined file back, and free tiers often cap how many files or how much data you can merge before hitting a paywall.

This tool merges files entirely in your browser. Reading each .xlsx/.csv, matching columns, stacking rows or building tabs, and writing the final .xlsx all run in JavaScript on your machine — nothing is uploaded, so there's no file-count limit tied to an account and no server ever sees what's in your spreadsheets.

How it works

Drop up to 30 .xlsx or .csv files (or choose them). Pick one of two merge modes. "Stack into one sheet" flattens every sheet from every file into a single table — this is the mode for combining, say, twelve months of the same report into one dataset. "Combine into one workbook" instead keeps each file (and each of its sheets) as its own separate tab, useful when you want everything in one file to send along but don't want the rows mixed together.

The stacking mode uses smart column matching: headers are compared by name (trimmed and case-insensitive, so "SKU" and "sku " are treated as the same column) across every file, and the union of every distinct header becomes the output's column set. A file missing a column that another file has just gets a blank cell there — rows are never misaligned by column position the way a naive row-by-row stack would be if two files listed their columns in a different order.

An optional "Source file" column tags every row with the file it came from, which is the detail you need when something looks off after merging and you want to trace it back to one export.

What's included

Both merge modes in one tool, a live preview before you commit to a download (union column count and total row count for stacking; per-tab row counts for the tab mode), and automatic tab-name handling for the combine mode: names are cleaned of characters Excel doesn't allow in sheet names and truncated to Excel's 31-character limit, with a numeric suffix added automatically if two files would otherwise produce the same tab name.

Column types (numbers, dates, booleans) are auto-detected on the merged output, and the resulting workbook ships with a frozen header row and auto-filter on, matching every other tool on this site.

Limitations, and when to reach for something else

Column matching is by header name, not by inferring that two differently-named columns mean the same thing — "Customer" and "Client Name" will land in separate columns unless you rename one to match before merging. Files are processed in your browser's JavaScript thread, so merging many very large files at once (dozens of files well into the tens of MB each) can take a noticeable pause; the practical limit is around 30 files at up to ~50MB apiece.

If what you actually need is to see what changed between two versions of the same file rather than combine several files into one, use Compare Spreadsheets instead. If your source files are CSV and you just need one converted to .xlsx (not merged with others), CSV to XLSX is the more direct tool.

Beyond one-off conversions

Need a spreadsheet built to run your business, not just hold data?

These converters get your data into a spreadsheet. Our templates go further — dashboards, automations, and data validation built in, tested to the cent, in matching Excel and Google Sheets versions.

Browse premium templatesSee free templates

Frequently asked questions

Are my files uploaded anywhere?

No. Reading each file, matching columns, merging rows or building tabs, and writing the final .xlsx all happen in your browser using JavaScript — nothing is sent to a server.

What does "smart column matching" actually do?

When stacking multiple files into one sheet, each file's header row is compared by name (trimmed, case-insensitive) against every other file's headers. The union of all distinct headers becomes the merged table's columns, so a file missing a column another file has gets a blank cell there instead of its data shifting into the wrong column.

What's the difference between the two merge modes?

"Stack into one sheet" combines every row from every file into a single flat table — use this when the files share the same kind of data (e.g. monthly reports). "Combine into one workbook" keeps each file and sheet as its own separate tab instead of mixing the rows together.

How are duplicate sheet/tab names handled?

Tab names are cleaned of characters Excel doesn't allow, truncated to Excel's 31-character sheet-name limit, and automatically given a numeric suffix (e.g. "february 2") if two files would otherwise produce identical tab names.

How many files can I merge at once?

Up to 30 files per merge, each up to roughly 50MB. Since everything runs in your browser's JavaScript thread, merging many large files at once can take a noticeable pause rather than crashing.

More free tools & templates