Merge CSV files into one — without uploading them.

Combine multiple CSV, TSV, or Excel files by matching header names, not positions. Output in any format. Handles hundreds of files at once.

No upload No account No size limit Works offline CSV · TSV · XLSX

Drop multiple CSV, TSV or Excel files here

CSVTSVXLSX

Files never leave your device

Everything the Merge CSV tool does

Union of headers

If your files have different columns, merge automatically unions all column names. Missing cells get blank values — no data is dropped.

Deduplicate after merge

Optional: remove exact duplicate rows after combining. Useful when the same records appear in multiple source files.

Skip empty rows

Filters out fully blank rows automatically — no more wasted rows in your final file.

Any format in, any format out

Mix CSV, TSV, and XLSX files in the same merge. Output to whichever format you need. Headers matched by name across formats.

No file count limit

Merge 2 files or 200. The only limit is your browser's memory. Files are processed sequentially so memory usage stays linear.

Preserves data types

Numbers stay numbers, booleans stay booleans (in XLSX output). Leading zeros in ZIP codes and phone numbers are preserved.

What happens if my CSV files have different columns?

The tool takes the union of all headers across every file. Columns that appear in only some files show blank values in rows from the other files — no data is dropped. If your first file has id, name, email and your second has id, name, email, phone, the merged file will have all four columns, with phone blank for rows from the first file.

Can I merge files with different delimiters (CSV + TSV mixed)?

Yes. The tool auto-detects each file's delimiter independently. You can drop a CSV, a TSV, and an XLSX in the same merge operation — they're all normalized and combined. The output format is your choice.

Does merging handle duplicate rows?

Only if you check the "Remove duplicate rows after merging" option. By default, duplicates from overlapping exports are kept. Tick the box to remove duplicates — the tool uses exact-match comparison across all columns.

How are empty rows handled?

The "Skip fully empty rows" option is on by default. A row is fully empty if every cell is blank or whitespace. If the option is off, empty rows from your source files carry through to the output.

Is there a limit on the number of files I can merge?

No hard limit. In practice, browsers handle 50–100 files comfortably. Files are processed sequentially, so memory stays linear. If you're merging very large files (100 MB+ each), consider reducing the count or splitting the merge into two batches.

Do headers get duplicated in the merged file?

No. The header row appears exactly once, at the top of the output. Rows from each source file are appended below, mapped to the correct columns.

Can I reorder the files before merging?

Currently no — files are merged in the order you added them. If order matters (e.g. you want January data before February), add files in that order or rename them with a prefix so you can add them alphabetically.

What about Excel files with multiple sheets?

Only the first sheet of each Excel file is processed. If you have multiple sheets that should all be merged, save each sheet as a separate file first, then drop them all into the merger.

Does merging preserve Excel date formats?

Dates are detected from Excel serial numbers and converted to ISO format (YYYY-MM-DD) in the merged output. This makes them importable into any system without Excel's serial-number quirks.

Can I save my merge settings?

Yes — click "💾 Save settings" and your preferred output format, duplicate-removal option, and empty-row option are stored in your browser. They load automatically on return visits. "🗑 Clear" resets them. Nothing is sent to a server.

Can I preview the merged file before downloading?

Yes. As soon as you add two or more files, a preview table shows the first 10 rows of the merged result with all unified column headers. It updates live when you toggle Remove duplicate rows or Skip fully empty rows, so you can see how your options affect the output before committing to a download.

How do I merge monthly exports that have the same columns in different orders?

Drop all of them in at once. The tool matches columns by header name, not by position — so Jan.csv with columns [email, name, date] and Feb.csv with [name, date, email] merge correctly. Every unique header becomes a column in the output; rows missing that column get a blank cell. This is the typical Salesforce/HubSpot monthly-dump workflow.