Check & prepare data · Experimental helper

Merge CSV Files with Matching Headers

Append the records of a second CSV to a first file with the same headers.

Work stays in your browserLocal tool processing

Upload compatible CSVs with matching headers. File order controls row order.

Private by designYour input stays on your device. Processing happens in this browser.
Your workspace

Start with a file

CSV, TSV, or TXT · UTF-8 only · up to 10 MB. Original text and identifiers are retained; parsing happens when you run. Drop here, or use the file picker.

CSV, TSV, or TXT · UTF-8 only · up to 10 MB. Original text and identifiers are retained; parsing happens when you run. Drop here, or use the file picker.

Paste first CSV instead (optional)

Optional alternative to a file. Editing this text removes its selected file; source text is never reformatted during loading.

Paste second CSV instead (optional)

Optional alternative to a file. Editing this text removes its selected file; source text is never reformatted during loading.

Merge settings

Leave blank to detect comma, semicolon, tab, or pipe. Otherwise enter one character.
Leave blank to detect comma, semicolon, tab, or pipe. Otherwise enter one character.
Ctrl / ⌘ + Enter to run
Result

A clear result starts here

Run the tool to see your output here.

Try the example to explore how it works.
What to know about this tool

Headers must match exactly, including order and case. This appends rows without joining by key or removing duplicates. Up to 10 MB, 50,000 rows and 200 columns; rectangular CSV with unique nonblank headers required. CSV output has a conservative 20 MB cap.

Clear this workspace?

Your inputs, selected files, and current result will be cleared.

Get a result you can use

Instructions and examples

From input to output

  1. Choose the first and second CSV files, or paste both.
  2. Leave each input delimiter blank to detect it, or set each source delimiter independently.
  3. Select Merge CSV files and inspect the resulting rows before downloading.

Settings and result behavior

  • This workspace combines exactly two sources by appending the second data rows to the first.
  • Headers must match exactly in spelling and order. It does not deduplicate records, join on an ID or resolve conflicting values.

A worked example

Input
First: id,name
001,Ada

Second: id,name
002,Lin
Settings
Matching comma-separated headers in the same order.
Expected result
id,name
001,Ada
002,Lin

Supported input and limits

Choose a UTF-8 CSV, TSV or TXT file, or open “Paste CSV instead”. Use comma, semicolon, tab or pipe separators. A header row with unique nonblank names and the same field count on every row is required. Output uses the first source delimiter, with formula-like cells protected.

Headers must match exactly, including order and case. This appends rows without joining by key or removing duplicates. Up to 10 MB, 50,000 rows and 200 columns; rectangular CSV with unique nonblank headers required. CSV output has a conservative 20 MB cap.

If the result is unexpected

  • For a header mismatch, reorder/rename the source columns deliberately before merging.
  • If duplicates remain, use CSV cleanup after reviewing whether repeated rows should be removed.

Check before using the result

Check the single header, row total and source order. Review identifiers and protected cells in the destination application.

Report a problem with this tool. Include a nonsensitive example and your browser details.