Join CSV Files by Key Column
Join two CSV files on a common key column with database-style matching
Join two CSV files on a shared key column — an ID, email, SKU, or any value both files have in common. It follows database JOIN behavior: upload both files, pick the key column in each, choose the join type, and download the combined result without formulas or a database.
Choose how unmatched rows are handled: an inner join keeps only rows found in both files, a left join keeps everything from the first file, and right or full outer joins keep the rest. Blank key cells never match. Both files are processed locally in your browser, so customer lists and other sensitive data are never uploaded.
Duplicate keys produce every matching combination. If a key occurs L times in file 1 and R times in file 2, that key produces L × R output rows. Deduplicate a file first when you need one-to-one matching.
Drop your file here or click to upload
Accepts CSV, TSV, TXT. Maximum input: 100MB. Performance varies by device and tool.
Drop your file here or click to upload
Accepts CSV, TSV, TXT. Maximum input: 100MB. Performance varies by device and tool.
How to Use
- Upload the two CSV files you want to join
- Pick the key column in each file (like an ID or email)
- Choose the join type: inner, left, right, or full outer
- Preview the joined table and download the combined CSV
Features
- Inner, left, right, and full outer joins
- Match on any key column in each file (IDs, emails, SKUs)
- Relational L × R matching for duplicate keys
- Treat blank key cells as unmatched rows
- Instant preview of the joined result
- Handles files with different columns and row order
- Private by design — both files stay in your browser
Use Cases
- Add customer details from a CRM export to an orders file
- Enrich a mailing list with attributes from another system
- Match survey responses to a participant roster by email
- Combine product data with inventory counts by SKU
Frequently Asked Questions
How do I merge two CSV files based on a common column?
Upload both files, select the matching key column in each (for example an ID or email address), and choose a join type. Rows with the same key value are combined into one row with the columns from both files.
What is the difference between inner, left, right, and full outer joins?
An inner join keeps only rows whose key exists in both files. A left join keeps every row from the first file, filling blanks where the second has no match. A right join is the reverse, and a full outer join keeps all rows from both files.
What happens if the key appears more than once in the second file?
The join keeps every match, like a database JOIN. If the same key appears L times in file 1 and R times in file 2, the output contains L × R rows for that key. Use CSV Dedupe first if you need one row per key.
Do blank key cells match each other?
No. Blank keys are treated as unmatched. A left or full join keeps blank-key rows from file 1, while a right or full join keeps blank-key rows from file 2.
Is this the same as merging CSV files?
Merging usually means stacking rows from files with the same columns — use the CSV Merger for that. Joining combines columns from two files side by side by matching rows on a key.
Is CSV Joiner free to use?
Yes. It is free to use with no signup or watermark.
Is my data private when joining CSV files?
Absolutely. Both files are processed in your browser and never uploaded, stored, or logged — safe for sensitive data.