Merge CSV Files
Combine two or more CSV files into a single file. Aligns columns by header name across files with different or reordered columns, with optional duplicate removal.
Merge Options
Recommended Settings
Pro Tips
- •Matching by header name lets you merge CSVs whose columns are in a different order, or that have slightly different sets of columns
- •Columns present in one file but missing in another are filled with empty values automatically
- •Use 'Upload Multiple Files' to load several CSV files at once instead of adding rows one at a time
- •Enable duplicate removal when merging exports that might overlap, like overlapping date ranges
- •The '_source' column is useful for auditing which original file each merged row came from
Most Popular
Most users keep header-name matching enabled and add the source column when merging exports from different systems
When to Use This Tool
Combine monthly CSV exports (sales, analytics, logs) into a single yearly file for trend analysis, even if column order shifted between exports.
Merge CSV exports from different tools or teams that describe the same kind of data but don't have identical column sets, using header-name matching to align them.
Combine CSV files with overlapping data - like exports covering overlapping date ranges - and remove exact duplicate rows automatically.
Consolidate multiple small CSV files into one before importing into a database or spreadsheet, reducing the number of separate import operations.
How It Works
Add two or more CSV files by pasting them, uploading individually, or uploading several files at once
Parse each file's header row and data rows, handling quoted values and commas within fields
With header-name matching, build the union of column names across all files and align each row to those columns
Without header-name matching, use the first file's columns as the layout and pad or trim other files' rows to fit
Optionally remove exact duplicate rows and add a '_source' column identifying each row's origin file
Combine every file's rows into a single CSV output, ready to copy or download
100% Private
Files never leave your device. All processing happens locally in your browser.
Lightning Fast
Powered by Pure JavaScript for optimal performance on modern browsers.
Secure
No data collection, no tracking, no sign-up required.
Frequently Asked Questions
How many CSV files can I merge at once?
There's no fixed limit - use 'Add Another CSV' to add more input slots, or 'Upload Multiple Files' to load several files at once in one step.
What happens if my CSV files have different columns?
With 'Match columns by header name' enabled, the tool builds the union of all column names across every file. Rows from a file missing a particular column simply get an empty value in that column.
What does disabling header-name matching do?
It merges files positionally: the first file's header row becomes the output header, and every other file's rows are padded or trimmed to match that column count, regardless of their own header names. Use this only when you're sure every file has the same column layout.
How does duplicate removal work?
When enabled, rows with identical values across every column (after alignment) are considered duplicates. Only the first occurrence is kept, and later duplicates are dropped from the merged output.
What is the '_source' column for?
When enabled, an extra '_source' column is appended to every row showing which input file (by its label or uploaded filename) that row originally came from - useful for auditing a merged dataset.