TFT

CSV Join / Merge Tool

Join two CSV files on a shared key column — just like a SQL JOIN, but without a database. Inner, left, right, or full outer join — pick your type, map your key columns, and get a merged file instantly.

CSV Join Merge

SQL-style joins (inner, left, right, full outer) on two CSV files using key column

Drop CSV file or click to browse

Drop CSV file or click to browse

How CSV Join Works:

  • Upload or paste two CSV files to join
  • Select the key column from each table for matching
  • Choose join type: Inner, Left, Right, or Full Outer
  • Configure column prefixes to avoid naming conflicts
  • Click "Perform Join" to generate the merged result
  • Similar to SQL JOIN operations on database tables

What This Tool Does

This tool joins two CSV files based on a common key column, similar to SQL JOIN operations. Upload a left table and right table, select the key column from each, choose the join type, and get a merged CSV with combined data.

Join Types

Inner Join: Only rows where the key exists in BOTH tables. Excludes unmatched rows from both sides.

Left Join: All rows from the left table, plus matching rows from the right. Unmatched right columns are empty.

Right Join: All rows from the right table, plus matching rows from the left. Unmatched left columns are empty.

Full Outer Join: All rows from both tables. Unmatched columns from either side are empty.

Example: Inner Join

Left table (customers.csv):

customer_id,name
1,Alice
2,Bob
3,Charlie

Right table (orders.csv):

customer_id,product,amount
1,Widget,100
2,Gadget,50
4,Gizmo,75

Inner Join on customer_id:

customer_id,name,product,amount
1,Alice,Widget,100
2,Bob,Gadget,50

Result: Only customers with orders (Charlie excluded, order for customer 4 excluded)

Example: Left Join

Left Join on customer_id:

customer_id,name,product,amount
1,Alice,Widget,100
2,Bob,Gadget,50
3,Charlie,,

Result: All customers, with order data where available. Charlie has no order, so product and amount are empty.

When to Use Each Join Type

Inner Join: When you only want records that exist in both datasets. Example: Find customers who have placed orders.

Left Join: When you want all records from the primary table plus any matching data. Example: List all customers with their orders (if any).

Right Join: Less common. Use when the right table is your primary focus. Example: List all orders with customer info (including orphaned orders).

Full Outer Join: When you need everything from both tables. Example: Complete audit of customers and orders, including unmatched records on both sides.

Use Cases

Customer + Order data: Join customer profiles with transaction history for analysis.

Product + Inventory: Combine product catalog with stock levels.

Employee + Department: Merge employee records with department information.

Student + Grades: Join student roster with grade records.

Data enrichment: Add additional attributes to existing data by joining on a common key.

Column Prefixes

When both tables have columns with the same name (other than the key), use prefixes to avoid conflicts:

Left prefix:  left_
Right prefix: right_

Result: left_name, right_name, customer_id, left_amount, right_amount

Key Matching

Exact matching: Keys must match exactly (case-sensitive). "Alice" and "alice" won't match.

Data types: Keys are compared as strings. "1" and "001" are different keys.

Tip: Clean and normalize key columns before joining for best results.

Limitations

Two tables only: This tool joins exactly two CSV files. For multiple joins, chain operations or use a database.

Memory: Both files load into memory. Files over 50MB each may cause performance issues.

Many-to-many joins: If keys aren't unique, you get a Cartesian product (all combinations). This may create many more rows than expected.

Frequently Asked Questions

What if my key columns have different names?

Select the appropriate key column from each table. They can have different names — the tool matches on values, not column names.

Can I join on multiple columns?

This tool supports single-column joins. For composite keys, merge the key columns first or use a database.

How do I handle duplicate keys?

Duplicate keys create multiple output rows (Cartesian product). Deduplicate your data before joining if you want one-to-one matches.