How to Merge Two Columns in a CSV File — No Formulas, No Python
Table of Contents
You need to combine "First Name" and "Last Name" into a single "Full Name" column. Or join "Street", "City", and "State" into a single address field. Or concatenate a prefix and a number into a formatted ID like "ORD-00123".
In Excel this requires CONCATENATE() or the ampersand operator. In Python it's string concatenation with pandas. Both work — but if all you need is a one-time column merge without writing code or opening Excel, the CSV Column Mapper handles it in about 30 seconds.
Here's how column merging works, when you need it, and a few things to watch out for.
Common Reasons to Merge Columns in a CSV
Column merging comes up when your data structure doesn't match what the target system expects. A few typical cases:
- First Name + Last Name → Full Name. Some systems want a single name field. If your export has them separate, merge them with a space as the separator.
- Building a display name or label. "Company" + "City" → "Acme Corp (Austin)" — useful for creating identifiers or formatted labels from data parts.
- Creating an ID or reference code. "PREFIX" + "Number" → "ORD-00123". Set the separator to "-" or whatever the format requires.
- Address assembly. If you have separate street, city, and state columns and your target expects a single address line, merge them with ", " as the separator.
The pattern in every case: take two columns, combine them with a consistent separator, output one new column.
Step-by-Step: Merging Columns in the Tool
Open the CSV Column Mapper and load your CSV — either drop the file or paste the data.
Once your columns load:
- Select "Merge columns" from the Action dropdown (it defaults to "Split column", so switch it).
- Choose the first column from the selector — this is the left-side value in the merge.
- Choose the second column — this is the right-side value.
- Set the separator (called "glue" in the interface). A space character for names. A comma-space for addresses. A hyphen for codes. Or leave it empty if you want no separator.
- Name the new merged column. Type the header your target system expects.
- Click Apply.
The two original columns are replaced by one new merged column containing the combined values. If a row has an empty value in either column, the merge still works — it just leaves the separator with nothing on that side, so "John" + "" with a space separator becomes "John " (trailing space). You may want to trim those afterward with the CSV Sanitizer.
Getting the Separator Right
The separator determines what goes between the two values. Get this wrong and you end up with "JohnSmith" (no space) or "John Smith" (two spaces) or "John,Smith" (comma but no space after it).
Common separators by use case:
| Use case | Columns | Separator | Result |
|---|---|---|---|
| Name | First, Last | space | John Smith |
| Address line | Street, City | , (comma space) | 123 Main St, Austin |
| Code/ID | Prefix, Number | - (hyphen) | ORD-00123 |
| Full address | City, State | , (comma space) | Austin, TX |
| No separator | Any two | (empty) | ValueAValueB |
One thing that trips people up: the default separator in the tool is a single space. If you want ", " (comma followed by space), you need to type both characters in the separator field. It is not smart enough to infer separators — you tell it exactly what to put between the values.
Sell Custom Apparel — We Handle Printing & Free ShippingWhat If You Need to Merge Three or More Columns?
The merge operation combines exactly two columns at a time. To merge three, run it twice:
Example: Street + City + State
- Merge "Street" and "City" with ", " separator. Name the result "StreetCity".
- Merge "StreetCity" and "State" with ", " separator. Name the result "Full Address".
Each merge reduces the column count by one. After two merges, you've gone from three separate columns to one combined column.
The same logic applies to any multi-part concatenation. Build up the result incrementally, naming intermediate columns descriptively so you know what you're working with at each step. Then rename the final column to your target header before downloading.
When One Column Has Empty Values
Real-world CSV data always has gaps. Some rows have a first name but no last name. Some addresses have a city but no state. What does the merge do?
The merge is mechanical: it concatenates whatever is in each column, including empty strings. So if "Last Name" is empty for a row, the result is "John " (first name + space + nothing). If "First Name" is empty, you get " Smith" (space + last name).
Whether that matters depends on your use case. For a display name, a trailing space is harmless — most systems trim it on import. For a code like "ORD-" + "" = "ORD-", the missing number is a real problem that you need to handle upstream by filling the missing values first.
If your CSV has many missing values, run it through the Lead List Cleaner first — it flags missing data by column so you can decide whether to fill or remove those rows before merging.
Excel and Python Approaches — When to Use Them Instead
If you're working programmatically with large files or need to merge more than two columns in one step, Excel or Python is more efficient.
Excel CONCATENATE or & operator: =A2&" "&B2 is a one-cell formula that merges two columns. Drag it down and you're done. Works well — but opening a CSV in Excel can reformat data (leading zeros, dates, long numbers). If your CSV has ZIP codes or IDs that start with zeros, use the browser tool instead.
pandas: df['Full Name'] = df['First Name'].str.strip() + ' ' + df['Last Name'].str.strip(). Flexible, handles nulls with fillna(''), can merge multiple columns in one line. Use pandas if you're already writing a transformation script.
The browser tool is best for: one-off jobs, non-technical users, files where Excel reformatting is a risk, and workflows where you just need to clean and submit a CSV without setting anything up.
Try It Free — No Signup Required
Runs 100% in your browser. No data is collected, stored, or sent anywhere.
Open CSV Column MapperFrequently Asked Questions
Does merging delete the original two columns?
Yes. After you apply a merge, the two source columns are replaced by the single merged column. If you need to keep the originals, save a copy of your CSV before running the merge.
Can I merge a column with itself (duplicate a column)?
No — the merge operation requires two different columns. To duplicate a column, you would need to handle that in Excel or pandas.
What if some rows have a value in only one of the two columns?
The merge still runs. If Column A is empty for a row, the result is just the Column B value (plus any separator). If Column B is empty, the result is the Column A value plus the separator with nothing after it. You may get trailing separators for those rows.
Can I set a separator that contains multiple characters?
Yes. Type the full separator string into the glue field. A comma followed by a space, a hyphen with spaces around it, or any other multi-character string all work — type exactly what you want between the values.

