Converter Tools
CSV Merger
Merge two CSV files in your browser. Append rows or join by a key column with inner, left, right, and full outer joins. No upload required.
Append stacks the rows of the right CSV underneath the rows of the left CSV. Choose how the headers should line up.
Left CSV
130 charsRight CSV
76 charsHeader policy
Columns line up by matching header text. Columns missing on one side are filled with blanks.
Merged CSV
9 data rows - 213 B
- Columns only in left: name, country.
- Columns only in right: plan, monthly_spend.
| customer_id | name | country | plan | monthly_spend |
|---|---|---|---|---|
| 101 | Ada Lovelace | UK | (empty) | (empty) |
| 102 | Alan Turing | UK | (empty) | (empty) |
| 103 | Grace Hopper | US | (empty) | (empty) |
| 104 | Linus Torvalds | FI | (empty) | (empty) |
| 105 | Margaret Hamilton | US | (empty) | (empty) |
| 101 | (empty) | (empty) | Pro | 49 |
| 102 | (empty) | (empty) | Team | 99 |
| 103 | (empty) | (empty) | Pro | 49 |
| 106 | (empty) | (empty) | Solo | 19 |
Full output as CSV text
customer_id,name,country,plan,monthly_spend 101,Ada Lovelace,UK,, 102,Alan Turing,UK,, 103,Grace Hopper,US,, 104,Linus Torvalds,FI,, 105,Margaret Hamilton,US,, 101,,,Pro,49 102,,,Team,99 103,,,Pro,49 106,,,Solo,19
Source row counts: left has 5 data rows, right has 4 data rows. Output delimiter: Comma.
Append vs join in plain English
Append (vertical union) stacks the rows of two CSVs that share the same shape. Use it when both files describe the same kind of record, such as two monthly exports of the same report. Join (horizontal merge) lines up the two CSVs by a shared key column, such as customer_id or sku, the same way a spreadsheet VLOOKUP or an SQL JOIN does. Use join when each file holds different fields about the same entities and you want one wider row per entity.
How the four joins differ
- Inner keeps only keys that exist in both files. Rows on either side without a partner are dropped.
- Left keeps every row from the left file. Right columns are blank when the right file has no matching key.
- Right keeps every row from the right file. Left columns are blank when the left file has no matching key.
- Full outer keeps every row from both files. Unmatched rows on either side carry blanks for the missing columns.
- Duplicate keys produce one output row per pair, the same Cartesian behavior as a SQL JOIN, and the tool warns when this happens.
How to use
- Choose the merge mode at the top: Append rows stacks two CSVs vertically; Join by key lines them up by a shared column the way a VLOOKUP would.
- Paste each CSV into the Left and Right boxes, or click Open CSV file to load a .csv or .tsv from your computer. Use Load sample to try the tool with example data.
- Confirm whether the first row is a header. Each input delimiter can stay on Auto (the tool detects comma, tab, semicolon, or pipe) or be set manually.
- For Append, pick the header policy (Match by name, Match by position, or Strict) and optionally add a source column that tags every row with its file of origin.
- For Join, pick the left and right key columns, then choose the join kind (Inner, Left, Right, or Full outer). Toggle Trim and Case-sensitive to control fuzzy key matching.
- Copy the merged CSV with Copy CSV or use Download to save it as .csv or .tsv. Pick the output delimiter independently of the input delimiters.
About this tool
CSV Merger combines two CSV (or TSV, semicolon, or pipe-separated) datasets directly in your browser. Two operations cover the most common reasons to merge CSV files. Append (vertical union) stacks the rows of two files that describe the same kind of record, which is what people reach for when they want to combine monthly exports, survey responses split across files, or contact lists from different sources into one larger sheet. Three header policies control how the columns line up when the files do not have identical headers: Match by header name reconciles columns by their header text and fills missing cells with empty strings, Match by position stacks them in the order they appear so files with different header names but the same shape merge cleanly, and Strict refuses to stack the data unless both headers are identical, which is useful for catching accidental schema drift between exports. An optional source column tags every output row with the file it came from so the original origin survives the merge. Join by key (horizontal merge) is the spreadsheet VLOOKUP and SQL JOIN use case: pick a key column on each side, choose the join kind, and the tool produces one wider row per matched key. Inner keeps only keys that exist on both sides, Left keeps every left row with blanks for unmatched rights, Right keeps every right row with blanks for unmatched lefts, and Full outer keeps every row from both sides. Duplicate keys produce one output row per pair, the same Cartesian behavior as a SQL join, and a clear warning surfaces when that happens so it is not a silent surprise. Key matching can trim whitespace and ignore case, which is the realistic behavior most VLOOKUP users actually want; both options are switches. The CSV parser follows RFC 4180: quoted fields, escaped double quotes (two adjacent quote characters), embedded newlines, and CRLF or LF line endings are all handled, and the parser points at the line and column of any malformed input. Auto-detect picks comma, tab, semicolon, or pipe for each input by scoring candidate delimiters on the first thirty lines, so a file exported from a German spreadsheet (semicolon-separated) and a file exported from a US spreadsheet (comma-separated) can be joined without manual configuration. The output delimiter is selectable, so the tool doubles as a delimiter converter while it merges. Useful for marketers stacking signup exports from multiple campaigns, sales teams joining a deal list to an account list by customer_id, data teams concatenating partner feeds before loading them into a warehouse, finance teams pairing a transactions export with a categories lookup, journalists combining government data tables, and anyone who would otherwise open two spreadsheet tabs and write a VLOOKUP. Both CSVs stay entirely in your browser; nothing is uploaded.
Free to use. Works in your browser. No signup, no login.
Related tools
You may also like
CSV Viewer
View any CSV as a sortable, filterable, paginated table.
Open tool
ConverterCSV Sorter
Sort a CSV by one or more columns with per-column direction and type.
Open tool
DeveloperCSV Diff
Key-aware CSV compare with added, removed, and changed rows.
Open tool
ConverterCSV Column Extractor
Pick CSV columns, reorder them, and export a clean CSV with only those columns.
Open tool
ConverterCSV to JSON Converter
Two-way CSV and JSON converter with delimiter and header controls.
Open tool
ConverterTSV to CSV Converter
Two-way TSV and CSV converter with RFC 4180 quoting, line-ending control, and a table preview.
Open tool