CSV

CSV Join — Merge Two Files on a Column

Joins two delimited files on a shared column, with a left or inner join.

Loading the tool…

Processing happens locally in your browser. What you paste or load is processed by this page and is not uploaded to a server. Nothing is stored unless you use a control that says it stores something, and you can clear anything this site has kept from the privacy page.

How to use this tool

  1. Paste the first file on the left and the second on the right.
  2. Name the key column in each file.
  3. Choose a left join to keep unmatched rows, or an inner join to drop them.
  4. Join the files and read the match count in the summary.

What csv join does

Joining two extracts is the job that usually sends people to a spreadsheet and a VLOOKUP. This does it directly: name the key column in each file, choose whether unmatched left rows should be kept, and the combined file comes back with the second file's columns appended to the first's.

The summary reports how many left rows found a match, and that number is the point of the exercise as much as the output is. A left join with far fewer matches than expected usually means the keys differ in case, in padding, or in type — an identifier stored as text in one system and as a number in the other will not match even when the two look identical on screen.

Frequently asked questions

A left join keeps every row from the first file, filling the second file’s columns with blanks where there was no match. An inner join keeps only the rows that matched.

Usually the keys differ in case, in padding, or in type. An identifier stored as text in one system and as a number in the other will not match even when the two look identical.

Every matching pair is produced, so one left row can become several output rows. That is the fan-out a database join would also produce, and the row count in the summary will show it.