Skip to main content

Merge Excel or CSV files

Add several CSV or Excel files, combine their rows into one table, and keep columns aligned consistently directly in your browser.

  • Batch processing
  • Export

Embed this widget

Customize the result, check the live preview, then copy the code.

Preview

Embed code type

Code to copy

Responsive and automatically resized by Bethemesh.

Your files are processed locally in your browser and are never sent to our servers.

Drop your file here

Recommended size: up to 50 MB

Columns with the same name are aligned automatically. Missing columns remain empty.

Result

Was this tool useful?

How does this tool work?

Merging spreadsheets here means stacking their records into one table. Use it to combine monthly exports, similar lists or files supplied by different teams. The merger adds a provenance column identifying each record’s source file and accepts different source columns. It does not match records by identifier or combine cells from similar rows. Enriching an order with customer details requires a join instead of vertical merging. Keep that distinction clear before selecting files so the output matches your intended data relationship.

Select at least two CSV, TSV, XLSX, XLS or flat tabular JSON files. The drop zone permits up to 50 MiB per file, but all files, parsed documents and output must fit memory. Processing stays in your browser. Only the first sheet of each workbook is used here; later sheets are not automatically stacked. Styles, macros, charts and active formulas are not preserved as they would be in a complete workbook-document assembly.

Files follow selection order, then their records are appended without sorting or deduplication. Columns align by name rather than position. Case differences remain significant: city and City are different fields. Empty or repeated CSV headings are normalized during import to preserve cells. Different schemas can therefore create a wider table with some fields missing from particular records. Normalize names and units first when those differences are accidental rather than meaningful source-specific information.

Every record receives its source filename in _source. If that field already exists, the engine selects _source_2 or another free suffix to preserve original values. Files with identical names remain difficult to distinguish through provenance alone; rename them first if necessary. Preview uses the column union and XLSX, CSV or JSON exports include all records. Missing fields appear empty in CSV and XLSX, while JSON retains properties actually present. No duplicate summary or transformation log is added.

How to use this tool

  1. Prepare compatible sources

    Check first sheets, headings and units. Rename identically named files so their provenance remains interpretable in the result.

  2. Choose order and merge

    Select at least two files. Confirm that matching headings mean the same thing and case variants do not create unexpected separate fields.

  3. Review records and provenance

    Inspect records from each source and the provenance column name. Compare total rows with expectations, then choose a suitable export format.

Use cases

Combine reporting periods

Stack monthly sales exports while keeping filenames to check record provenance.

Collect team contributions

Consolidate similar lists after confirming their columns and units describe equivalent information.

Inspect differing schemas

Combine sources with a few specific fields and review missing values instead of silently dropping those columns.

Examples

Two matching schemas

January records precede February. _source identifies each file without grouping or summing amounts.

Input

january.csv
product;amount
A;10
february.csv
product;amount
B;12

Result

[
  {
    "product": "A",
    "amount": "10",
    "_source": "january.csv"
  },
  {
    "product": "B",
    "amount": "12",
    "_source": "february.csv"
  }
]

Keep existing provenance

Original _source survives. Added provenance uses _source_2; email remains absent from the first JSON record.

Input

customers.json
[{"id":1,"_source":"CRM"}]
contacts.json
[{"id":2,"email":"b@example.com"}]

Result

[
  {
    "id": 1,
    "_source": "CRM",
    "_source_2": "customers.json"
  },
  {
    "id": 2,
    "email": "b@example.com",
    "_source_2": "contacts.json"
  }
]

Tips and best practices

  • Check units before stacking records. An amount column may contain different currencies, and the merger performs neither currency conversion nor business-level compatibility validation.
  • Deduplicate afterwards only when repetitions are genuinely unwanted. Different periods can legitimately contain identical records; provenance helps examine them before choosing a deletion rule.
  • Reduce large batches when possible. The 50 MiB limit applies to each file and does not guarantee comfortable processing of dozens of files together in browser memory.

Frequently asked questions

How does merging differ from joining?

Merging appends records vertically. Joining matches keys and adds enrichment columns. The merger searches for no shared identifier, so two records describing the same person remain separate until you explicitly process them using another appropriate operation.

Must columns be identical?

No. The output combines column names and preserves source-specific fields. Missing fields become empty cells in table exports. Check similar headings and units carefully: an extra column may reveal preparation errors rather than a meaningful difference between sources.

Are duplicates and additional sheets combined automatically?

Duplicates are retained and only each workbook’s first sheet is used. No aggregation or automatic removal occurs. Prepare intended sheets as separate files, then choose a cleaning rule afterwards when the actual use case requires one.

What if my table already contains _source?

Original values are preserved. The engine chooses a free name such as _source_2 for added provenance and uses it across the batch. Inspect the preview before writing a downstream process that assumes one fixed provenance heading.

Related tools

Tools similar or complementary to this one.

Similar tools

Merge multiple CSV files into one table while keeping columns aligned consistently.

Data & spreadsheetsFeaturedUse this tool
GuideBest practicesIntermediate

Build a reproducible data-preparation workflow

Put cleaning, validation, filtering, merging, comparison and conversion in a sensible order, and learn when a reusable pipeline is better than isolated tools.

29 August 20262 min
GuideBest practicesBeginner

Split a CSV or Excel table into smaller files

Discover when to split a large table by row count or by a column value, and how to preserve a useful structure in every output file.

29 August 20261 min