CSViser ADVISER

Merge two CSV files by column

Join two CSV files on a shared key column — like a spreadsheet VLOOKUP or an SQL JOIN, without writing any code. Choose inner, left, or full outer join and download the result.

Upload the first (left) CSV file

CSV, XLSX, or JSON — any size

Free account — takes 10 seconds to sign up

After upload: go to the Merge files tab → upload the second file → choose key columns → Preview → Apply.

What is a CSV join?

A join combines columns from two files into one, matching rows by a shared key value. The key column is a column that appears in both files and identifies the same entity — for example, an email address, a product SKU, a customer ID, or a country code.

Think of it as a spreadsheet VLOOKUP that works on full files, not single columns — or as an SQL JOIN without needing a database.

Three join types explained

Inner join

Only rows whose key value appears in both files are included. If a row exists in the left file but not the right, it is dropped — and vice versa. Use when you only want matched records.

Left join

All rows from the left (first) file are kept. Rows that have a match in the right file get the right file's columns appended; rows without a match get empty cells for those columns. The most common join type for enrichment tasks.

Full outer join

All rows from both files are kept. Matched rows are combined; unmatched rows from either file appear with empty cells for the other file's columns. Useful when you want a complete picture of both datasets.

Common use cases

  • Add order history to a contacts list (join on email)
  • Enrich a product catalogue with pricing from another export (join on SKU)
  • Combine monthly reports from different systems (join on date or ID)
  • Find contacts that appear in one list but not another (left join + filter empty columns)

How column conflicts are handled

If both files have a column with the same name (other than the key column), the right file's version gets a _2 suffix in the output — so you can see both values and decide which to keep. The key column from the right file is excluded from the output since it's identical to the left file's key column.

Frequently asked questions

What if the key column has duplicate values?

When the right file has duplicate key values, the first matching row wins. Left-file duplicates are all kept (each matched to the first right-file match). This is the standard "first match wins" behaviour.

Do the key column names need to match?

No. You select the key column from each file independently — the left key column and the right key column can have different names, as long as their values represent the same entity (e.g. email on the left and contact_email on the right).

Can I just append rows instead of joining by column?

Yes — use the Append rows tab. It stacks the second file's rows below the first, with union headers (missing cells filled with empty values). No key column needed.