Join Files
Load two files and join them on a common key column. Supports INNER, LEFT, RIGHT, and FULL OUTER joins. Everything runs in your browser — your data never leaves your device.
Left file
Right file
How to use the Join Files tool
- Drop your main file on the Left file box, or click it to browse. CSV, TSV, Parquet, JSON, NDJSON, Arrow, Excel (.xlsx or .xls, first sheet) and YAML files are accepted.
- Drop the file you want to match against it on the Right file box, or click it to browse. The two files can be different formats, for example a CSV and an Excel sheet.
- Choose a join type: INNER, LEFT, RIGHT or FULL OUTER. Then pick the key column from each file. The keys can have different names, such as id and customer_id.
- Click Run Join. The first 200 rows of the result appear in a table below so you can check the match.
- Download the full result as CSV, Parquet, Excel or JSON. The file is saved as join_result with the matching extension.
Worked example
You have a customer list and an order list. You want every customer with their orders, including customers who have not ordered yet.
Input: customers.csv (left) and orders.csv (right)
customers.csv
id,name
1,Ana
2,Ben
3,Cara
orders.csv
order_id,customer_id,total
101,1,25
102,1,40
103,3,15Settings
- Join type: LEFT
- Left key: id
- Right key: customer_id
Output: join_result.csv
id,name,order_id,total
1,Ana,101,25
1,Ana,102,40
2,Ben,,
3,Cara,103,15Ana has two orders, so she appears twice. Ben has no orders, but a LEFT join keeps him with blank order columns. The right key column (customer_id) is dropped from the output because it repeats the left key. Row order in the output is not guaranteed, so sort afterwards if order matters. With a FULL OUTER join, a right-side row with no match keeps its right columns, and its key is filled in from the right key column.
Frequently Asked Questions
How do I join two CSV files on a common column?
Load one CSV as the left file and the other as the right file. Pick the shared column as the left key and the right key, choose INNER to keep only matching rows or LEFT to keep every row from the left file, then click Run Join and download the result.
What is the difference between INNER, LEFT, RIGHT and FULL OUTER joins?
INNER keeps only rows whose key appears in both files. LEFT keeps every row from the left file and fills right-side columns with blanks when there is no match. RIGHT does the same for the right file. FULL OUTER keeps every row from both files and leaves blanks wherever a match is missing. With RIGHT and FULL OUTER, rows found only in the right file still show their key, taken from the right key column.
Why does my result have more rows than the left file?
If a key appears more than once in the right file, each left row is repeated once for every match. This is normal join behaviour. Remove duplicate keys from the right file first if you want exactly one match per row.
Can I join on more than one column?
Not in this tool. It joins on one key column from each file. For a join on two or more columns, load both files in the SQL Query tool and write the ON clause yourself, or combine the columns into one key first with Concatenate Columns.
Are my files uploaded to a server?
No. Both files are read and joined inside your browser tab. Nothing is sent to SmartQueryTools, and closing the tab clears the data.
Related tools
Lookup Tool
Add a column from a reference table to your file, like Excel VLOOKUP.
SQL Query Tool
Write your own JOIN with several key columns or extra filters.
Merge CSV Files
Stack files with the same columns on top of each other instead of joining side by side.
Compare CSV Files
See which rows are only in one file, only in the other, or in both.
Find Duplicates
Check a key column for repeated values before you join.
Concatenate Columns
Combine two columns into one key when you need a multi-column match.
Excel to CSV
Convert an Excel sheet to CSV before or after joining.