Join Two CSVs on a Key
Merge two CSV files side by side on a shared column — customers with their orders, product IDs with their prices, users with their last login. This is the operation you'd do with VLOOKUP in a spreadsheet or a JOIN in SQL, with a report telling you exactly how many rows matched and how many didn't, which is the part spreadsheets never tell you.
How to join two CSV files
- Put the left file in the first box and the right file in the second — paste, or drop a file onto either zone.
- Pick the key column on each side. They don't need the same name:
idcan join tocustomer_id. - Choose the join type. Start with left if file A is your source of truth and you want to see what's missing.
- Read the report: matched rows, unmatched on each side, result row count. Then copy or download.
Which join type do I want?
- Inner — keep only rows that exist on both sides. Smallest result; silently drops anything unmatched, which is why the report matters.
- Left — every row of A, with B's columns filled in where a match exists and left blank where it doesn't. The right default for enriching a list.
- Right — the mirror image: every row of B.
- Full outer — everything from both sides, matched where possible. Use it for reconciliation, where the unmatched rows on both sides are the finding.
When the key isn't unique
If a key appears twice on the right, each matching left row is emitted twice — that's how SQL behaves, and it's why a join can return more rows than either input. The report flags this so a surprise row count doesn't look like corruption. If you didn't expect duplicate keys, check the right-hand file with Find duplicates first; if the right side is a lookup table, Dedupe it before joining.
Why keys fail to match
Nearly always whitespace or case: "ABC123 " is not "abc123". Both toggles are on the toolbar — trimming is on by default, case-folding is off. Beyond that, watch for numeric keys stored differently on each side (007 against 7) and for IDs that a spreadsheet converted to scientific notation. Data profile shows both sides' formats quickly.
FAQ
What if both files have a column with the same name?
The right-hand copy gets the suffix from the toolbar (_b by default), so nothing is silently overwritten. The report lists every column it renamed.
How is this different from Merge files?
Merge files stacks files vertically — more rows, same columns. Joining works horizontally — same rows, more columns.
Can I join three files?
Join two, download the result, then join that with the third. Each pass keeps its own key selection.
Are the files uploaded?
No. Both files are parsed and joined in your browser, which matters when you're joining customer data against internal IDs.
Privacy
100% client-side. No upload. See the privacy policy.