Merge CSV Files
Combine multiple CSV files into one in your browser. Columns are matched by header name, not by position, so files with different column orders merge cleanly. No upload, no sign-up, no watermark.
- Column matching by header name
- Union, first-file and intersection strategies
- Optional source_file column
- Deduplication and trimming
Add CSV files to merge
Add two or more CSV files above to merge them. Column headers are matched by name, so files with the same data in a different column order still line up.
Everything runs in your browser. Nothing is uploaded. Nothing is logged.
- 100% Free
- No Sign-Up
- No Upload
- Auto Detect Delimiter
- Column Matching
- Works Offline
The three column match strategies
Files rarely have identical columns. Pick the strategy that matches what you want the merged file to look like.
| Strategy | Keeps | When to use it |
|---|---|---|
| Union | Every column from every file | Files have different columns that should all appear. Missing values are blank |
| First file only | Only the columns of the first file | You have a strict target schema and later files should not add columns |
| Intersection | Only columns that appear in every file | You want a strict common schema so no file is missing a value |
Delimiters this merger understands
Four delimiters cover almost every CSV in the wild. Each input file is detected separately, and the output uses whichever delimiter you pick.
| Delimiter | Symbol | Common in |
|---|---|---|
| Comma | , | US and UK Excel, Google Sheets, most web exports |
| Semicolon | ; | European Excel (Germany, France, Spain), some EU CSVs |
| Tab | \t | Database exports, TSV files, clipboard from spreadsheets |
| Pipe | | | Legacy mainframe exports, some analytics tools |
Why this is the best free CSV merger
Most online CSV mergers upload your files and force a fixed strategy. This one gives you three strategies, reorderable files and no upload.
| Feature | TToolDeck | Typical online merger | Desktop scripting |
|---|---|---|---|
| Runs entirely in your browser | Yes | No | Yes |
| No sign-up or email | Yes | Partial | Yes |
| Auto-detects delimiter per file | Yes | Partial | Partial |
| Match columns by header name | Yes | No | Partial |
| Three match strategies (union, first, intersection) | Yes | No | No |
| Reorder files before merging | Yes | No | Yes |
| Add source_file column | Yes | No | No |
| Deduplicate rows after merging | Yes | No | Partial |
| No account, no quota, no rate limit | Yes | Partial | Yes |
| Works offline after first load | Yes | No | Yes |
Comparison reflects publicly available information at the time of writing. Features may change. Representative examples of common patterns.
More free data tools
Free browser-based tools. Nothing uploaded, ever.
CSV Cleaner
Deduplicate, trim, drop empty rows, strip BOM
Excel to CSV
Convert .xlsx and .xls to CSV
CSV Formatter
Comma to semicolon for stock metadata
Diff Checker
Compare two texts or code files side by side
JSON Formatter
Format, validate and minify JSON
Word and Character Counter
Words, characters and reading time
How it works
- 1
Drop your CSV files
Add two or more CSV files. Drag them onto the box, or click to select. Each file is parsed separately, with its own delimiter detected.
- 2
Pick the match strategy
Union keeps every column, first file keeps only the columns of file one, intersection keeps only shared columns. Reorder files with the arrows if needed.
- 3
Copy or download the result
The merged CSV updates live. Copy it to the clipboard or download it as merged.csv, ready for any tool that reads CSV.
Everything you get for free
Columns matched by header name
Files with the same data in a different column order still line up. The header row of each file is read, and rows are reordered to fit the merged header.
Three match strategies
Union takes every column from every file. First file only uses the columns of the first file. Intersection keeps only columns that appear in every file.
Auto-detects delimiter per file
One file might use commas and another semicolons. Each file is parsed with its own detected delimiter, and the output uses whichever delimiter you choose.
Reorder files before merging
Row order follows file order. Use the up and down arrows on each file to put them in the order you want the rows to appear in the merged output.
Source file column
Turn this on to add a source_file column as the first column of the output. Each row records which file it came from, so you can trace rows back later.
Remove duplicates after merging
One toggle compares every merged row (after trimming) and keeps the first occurrence. Useful for combining exports that overlap.
Real CSV quoting and escaping
Cells with commas, quotes or line breaks are quoted and escaped correctly. Files that use quoted fields with embedded commas or newlines merge cleanly.
Zero upload, zero logging
Every file is read with the browser File API and parsed in JavaScript on your device. Nothing is sent to a server, nothing is stored, and there is no analytics on the content itself.
What people use it for
Combining monthly exports
Twelve monthly CSVs from the same tool have the same columns. Drop them all in, keep the header once, and you have a single annual file.
Merging team submissions
Ten people submitted a CSV with the same form fields. Merge them into one, add the source_file column, and you can still tell who submitted what.
Consolidating supplier feeds
Suppliers send product feeds with slightly different column orders. Column matching by name pulls them into one unified catalogue without manual sorting.
Preparing training data
Machine learning datasets often arrive split across files. Merge them, dedupe on the key column, and load into pandas or a notebook in one step.
Combining survey responses
Survey exports from two regions use the same question IDs but different column orders. Union mode plus header matching produces a single analysis-ready file.
Rebuilding a log from daily files
If your app writes one CSV per day, merge a month of them in seconds. Reorder by date, dedupe on request_id, and the file is ready for analysis.
Questions people ask
What does this CSV merger do?
It reads several CSV files, lines up their columns by header name, and writes one combined CSV. Files with the same data in a different column order merge correctly because matching is by header text, not by position.
Is this CSV merger free?
Yes. Every option is free to use with no sign-up, no watermark and no daily limit. ToolDeck may show ads to pay for hosting, but they never lock a feature.
Are my CSV files uploaded to a server?
No. Each file is read with the browser File API and parsed in JavaScript on your device. Nothing is sent to ToolDeck or any third party, and you can confirm this by watching your browser network tab while using the tool.
How many files can I merge at once?
There is no hard limit. Dozens of files merge fine on a modern browser. The practical limit is your device memory, since all rows are held in memory to build the preview and the download.
How does column matching work?
The header row of each file is read. Columns are matched by header name, case-insensitively. If your files use different names for the same column (for example email vs Email), rename them first or use the CSV Cleaner tool.
What happens if a file is missing a column?
In union mode and intersection mode, the missing cell is written as an empty string. In first-file-only mode, columns that do not exist in the first file are dropped entirely.
Can I control the order of the rows in the output?
Yes. Row order follows file order, top to bottom. Use the up and down arrows next to each file to put them in the order you want. Within a file, row order is preserved from the original.
Do the files need to have the same delimiter?
No. Each file is parsed with its own detected delimiter, so a comma-separated file and a semicolon-separated file merge cleanly. The output uses the delimiter you pick from the Output delimiter dropdown.
What does the source_file column do?
When turned on, a column named source_file is added as the first column of the output. Each row records the original file name it came from, so you can trace rows back after merging.
How does duplicate removal work?
When Remove duplicate rows is on, each merged row is compared after trimming whitespace and lowercasing. The first occurrence is kept and later matches are dropped. Comparison uses all columns of the output, so if you want to dedupe by one column alone, use the CSV Cleaner tool.
Can I merge CSV with a TSV or a pipe-separated file?
Yes. TSV and pipe-separated are just CSV with a different delimiter, and the tool detects both. You can mix them freely in the same merge.
Does it handle quoted fields with commas or newlines inside?
Yes. The parser understands RFC 4180 CSV including quoted fields, escaped double quotes and embedded newlines. Fields that need quoting are re-quoted on output.
Can I use this for something other than CSV?
Any delimited text file works as long as the first row is a header row. Log files, TSV dumps and analytics exports all merge cleanly if they follow that shape.
Which browsers are supported?
Current versions of Chrome, Edge, Firefox and Safari, on desktop and mobile. Everything uses standard web APIs and no browser specific features.
Your CSV files never leave your browser
Every file is read with the browser File API and parsed in JavaScript on your device. There is no server side merging, no temporary storage and no analytics on the content itself. You can confirm this by watching your network tab while using the tool. Read how we keep it private.