How to Join and Compare Two CSV Files
Need to check which rows in one spreadsheet also appear in another? Whether you're reconciling customer lists, comparing inventory exports, or merging data from two systems, doing it manually with VLOOKUP or INDEX-MATCH is slow and error-prone. This guide shows you a faster way.
Common Problems
- VLOOKUP/INDEX-MATCH formulas break with large datasets or messy data
- You need to find which rows exist in both files vs. only in one
- Column headers differ between the two exports
- Setting up a database or writing a script is overkill for a one-off task
What Is CSV Joiner?
CSV Joiner is a browser-based tool that takes two CSV files, matches rows by a key column you choose, and shows you which rows appear in both files, only in CSV A, or only in CSV B. You can filter the results and download the output as a new CSV.
How to Use It
Step 1: Upload two CSV files
Drag and drop or select your two CSV files. Each file gets a preview showing columns and the first few rows, so you can verify you uploaded the right files.
Step 2: Select key columns
Choose the key column for each CSV — this is the column used to match rows between the two files. For example, "email" in one file and "Email Address" in the other. The values don't need to be in the same order.
Step 3: Match
Click "Match" and the tool instantly shows a summary: how many rows match, how many are only in CSV A, and how many are only in CSV B.
Step 4: Filter and download
Use the filter buttons to view:
- All: Every row from both files
- Match: Rows that appear in both CSVs
- A only: Rows unique to CSV A
- B only: Rows unique to CSV B
Click "Download CSV" to export the current filtered view.
Use Cases
- Compare a CRM export with a mailing list to find missing contacts
- Reconcile two inventory exports from different systems
- Find which customers in list A haven't been added to list B
- Merge data from two departments that use different column names
- QA check: compare expected vs. actual data in test results
Tips
- Make sure your key column has unique values (e.g., email, ID, SKU) for accurate matching
- The tool handles commas and quotes inside CSV cells correctly
- Results table shows the first 100 rows; download the CSV for the full dataset
- If columns have different names but the same data, that's fine — just select the correct key column for each file
FAQ
What is the row limit for the free version?
The free version supports up to 100 total rows across both CSV files. Upgrade to Pro ($9 one-time) for unlimited rows.
Can I join CSVs with different column names?
Yes. You select the key column for each CSV independently, so the column names don't need to match. The tool matches rows based on the values in those columns.
Are my files uploaded to a server?
No. All CSV processing happens entirely in your browser. Your data never leaves your device.
Summary
CSV Joiner makes it easy to compare two spreadsheets and find matches and differences — no formulas or scripts required. It runs in your browser, so your data stays private. Try it now — it's free for up to 100 rows.