Blog
Wild & Free Tools

How to Merge Two Columns in a CSV File — No Formulas, No Python

Last updated: January 8, 2026 5 min read

Table of Contents

  1. When you need to merge CSV columns
  2. How to merge columns with the CSV Column Mapper
  3. Choosing the right separator
  4. Merging more than two columns
  5. Handling empty values in merged columns
  6. Excel and Python alternatives for merging
  7. Frequently Asked Questions

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:

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:

  1. Select "Merge columns" from the Action dropdown (it defaults to "Split column", so switch it).
  2. Choose the first column from the selector — this is the left-side value in the merge.
  3. Choose the second column — this is the right-side value.
  4. 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.
  5. Name the new merged column. Type the header your target system expects.
  6. 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 caseColumnsSeparatorResult
NameFirst, LastspaceJohn Smith
Address lineStreet, City, (comma space)123 Main St, Austin
Code/IDPrefix, Number- (hyphen)ORD-00123
Full addressCity, State, (comma space)Austin, TX
No separatorAny 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 Shipping

What 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

  1. Merge "Street" and "City" with ", " separator. Name the result "StreetCity".
  2. 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 Mapper

Frequently 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.

Zach Freeman
Zach Freeman Data Analysis & Visualization Writer

Zach has worked as a data analyst for six years, spending most of his time in spreadsheets, CSV files, and visualization tools. He makes data analysis accessible to people who didn't study statistics.

More articles by Zach →
Launch Your Own Clothing Brand — No Inventory, No Risk