What is a CSV merger?
A CSV merger combines multiple tabular files by appending their data rows into one CSV. It is useful for monthly reports, split exports, survey batches, regional data, and other files that represent the same kind of record.
This tool performs a vertical merge: rows from the first file are followed by rows from the second file, then the third, in the order shown. It does not join files side by side using an ID, email address, or other key.
How to merge CSV files
- Select or drag in at least two CSV, TSV, or plain text files. Choose Example to load the two hosted sales files.
- Drag file rows or use the arrow buttons to set the merge order.
- Check the column status. Matching columns in a different order are automatically aligned to the first file.
- Open Settings only when you need Union Columns, empty-row handling, exact-row deduplication, source filenames, or Excel BOM output. Review the sampled pre-merge rows.
- Select Merge CSV files, confirm the final first ten data rows and summary, then download the result.
The output always uses comma delimiters and CRLF line endings. The download name can be changed immediately before saving.
Merge CSV example
Suppose sales-january.csv contains:
date,product,amount
2026-01-05,Keyboard,120
2026-01-12,Mouse,45
And sales-february.csv contains the same columns in another order:
amount,product,date
75,Headset,2026-02-03
140,Keyboard,2026-02-11
The merged file follows the first file’s column order and keeps one header:
date,product,amount
2026-01-05,Keyboard,120
2026-01-12,Mouse,45
2026-02-03,Headset,75
2026-02-11,Keyboard,140
Quoted commas, escaped double quotes, quoted line breaks, empty fields, LF or CRLF input, and UTF-8 BOM input are parsed as CSV rather than split as plain text.
Merge vs. join CSV files
| Operation | Direction | Typical use |
|---|---|---|
| Merge or append | Adds rows vertically | Combine monthly reports or split exports |
| Join | Adds columns horizontally by a matching key | Connect customers to orders by ID |
Use this merger when the files contain the same kind of rows. A join needs key selection, duplicate-key rules, unmatched-row handling, and field conflict rules, so it is a separate data task.
Do CSV files need the same columns?
Strict mode is the default:
- Identical columns merge directly.
- Matching column names in a different order are realigned automatically.
- Missing or extra columns stop the merge and identify the affected file.
Enable Include all columns to use Union Columns. The output includes each column the first time it appears, and missing values become empty cells. It does not guess that differently named headers mean the same thing.
When Files have header rows is disabled, every row is treated as data and columns are aligned by position. The source filename option is disabled because a header name cannot be added safely to headerless output.
Headers, empty rows, and duplicates
With header rows enabled, the first row of each file is treated as its header and the output keeps a single header. Later header rows are not inserted as data.
Skip empty rows removes only rows whose fields are all empty or whitespace. A row containing some empty fields remains valid data.
Remove exact duplicate rows compares complete aligned rows and keeps the first occurrence. It does not perform fuzzy matching or deduplicate by one selected field.
Add source filename column appends _source_file to every output row. If that header already exists, the tool chooses _source_file_2 or the next available suffix.
Supported CSV formats
Delimiter detection checks commas, semicolons, Tabs, and pipes separately for each file. The parser also handles:
- Fields containing delimiters inside double quotes.
- Double quotes escaped as
"". - Line breaks inside quoted fields.
- Empty cells and trailing empty values.
- LF and CRLF line endings.
- UTF-8 files with or without a byte order mark.
Files with unclosed or invalid quoted fields are not merged. Other recoverable row or header issues remain visible as warnings so the result can be reviewed before download.
Merging larger CSV files
The selected files can total up to 50 MB. Parsing and merging run in a browser worker so the interface remains responsive, but the source text, parsed rows, preview, and final download still need to fit in browser memory.
Actual performance depends on the number of rows and columns, cell length, device memory, and browser. This tool does not claim unlimited file sizes or desktop-scale multi-gigabyte processing.
Use CSV Viewer to search and inspect a merged file. Use CSV Editor when headers or cells need correction before merging, or CSV to JSON when the completed rows need to become JSON records.
Merge CSV FAQ
Will every file’s header be repeated?
No. With Files have header rows enabled, each file’s first row is used for validation and only one header is written to the output.
Can I control the order of the merged rows?
Yes. File order determines row order. Drag file rows or use the accessible up and down buttons before merging.
Can files use different delimiters?
Yes. Comma, semicolon, Tab, and pipe delimiters are detected for each file, then the output is normalized to comma-separated CSV.
What happens when columns are in a different order?
Matching headers are aligned by name to follow the first file’s order. Values are not appended by their original position.
What happens when a file has missing columns?
Strict mode stops and lists missing or extra headers. Enable Include all columns to create a union and leave unavailable values empty.
Can duplicate rows be removed?
Yes. Enable Remove exact duplicate rows to remove rows only when every aligned cell value is identical.
Can I see which file a row came from?
Yes. Enable Add source filename column to add a source value to every output row.
Is the result compatible with Excel?
The output uses CRLF line endings. Add UTF-8 BOM for Excel is enabled by default and can be turned off in Settings.
Why did a CSV fail to merge?
Common causes include an empty file, invalid quoted fields, a mismatched header in Strict mode, or files whose combined size exceeds 50 MB. The file list and column check identify the affected file and recovery step.