Guide

How to add first names to a raw email list

Updated September 2026 · 4 minute read

You have a CSV full of addresses and an empty FNAME column. Here's how to put a first name against every address that actually contains one — and what to write when it doesn't.

The problem

A raw email list — exported from a signup form, an old ESP, or a MailWizz instance — usually looks like this: an EMAIL column that's full and a FNAME column that's empty. Send to it as-is and every message opens with a blank, or with the same generic greeting for everyone. The names are often sitting right there in the addresses; the work is extracting them without mangling them.

Step by step

  1. Export your list as a CSV. Any export works as long as one column holds the addresses. Extra columns are fine — they pass through untouched.
  2. Open the fieldtested tool and drop the file in. The file is read inside your browser tab. Nothing uploads, and the tool keeps working even if you disconnect from the internet after the page loads.
  3. Check the detected columns. The email column is found automatically; if your file already has an FNAME column it fills that one, and if not it adds one.
  4. Pick your fallback word. This is what gets written when an address has no recoverable name. "Friend" is the default; "there" also reads naturally in a greeting.
  5. Review the gauge, then download. Every row is graded high, medium or low. The high rows are safe to send; medium and low sort to the top of the downloaded CSV so a two-minute skim covers them before your merge.

What comes out

The resolver splits each address on dots, underscores, hyphens, digits and capital letters, then checks the pieces against dictionaries of 22,000 given names and 89,000 surnames. That dictionary check is what separates a real extraction from a string trick:

AddressFNAME writtenWhy
danielatkins@gmail.comDanielSplit on a known surname boundary — not "Daniela"
powellmisty70@gmail.comMistySurname written first
anne-marie.dupont@orange.frAnne-MarieHyphenated given name kept whole
JuliaBennett@outlook.comJuliaSplit on the case change
sdjohnstone531@gmail.comJohnstoneTwo initials stripped, surname used
moonchild4evr@gmail.comFriendA handle, not a name
info@northgate.coFriendRole account, not a person

Can Excel formulas do this?

Partly, and it's worth being honest about where the line is. For addresses shaped like first.last@, this classic fills a first-name column:

=PROPER(LEFT(A2, FIND(".", A2) - 1))

Wrap it in IFERROR(…, "") and it won't crash on addresses with no dot. But it has no idea what a name is: danielatkins@ has no separator to find, jsmith@ becomes "Jsmith", info@ becomes "Info", and sk8rboi99@ becomes a greeting you really don't want to send. Formulas parse strings; filling a merge field well requires knowing which strings are names. That's the part the dictionaries do.

The rows with no name in them

On real cold lists, roughly a third of addresses contain no recoverable name — handles, role accounts, number soup. The honest move is a neutral fallback word, because a wrong guess costs more than a missing name: "Hi Sk8rboi" tells the reader precisely how they got onto your list. fieldtested refuses those rows on purpose, which is what makes the rows it does fill trustworthy.

Fill your FNAME column now

Free for 1,000 rows, no account, and the list never leaves your browser. Run your list →

Questions

How do I add first names to an email list in Excel?

For addresses shaped like first.last@, a formula such as =PROPER(LEFT(A2,FIND(".",A2)-1)) pulls the first name. It breaks on everything else: run-together addresses like danielatkins@, digits, handles and role accounts all come out wrong or error. A dictionary-based tool handles those shapes and tells you how confident each result is.

Can I add first names without uploading my list anywhere?

Yes. fieldtested runs entirely in your browser tab — the CSV is read locally, processed locally, and downloaded locally. There is no upload, no server-side processing and no database, so the list never leaves your machine.

What should go in the FNAME column when the address has no name?

A neutral fallback word such as Friend, so the merge field still reads naturally. A wrong guess is worse than no name: greeting sk8rboi99@ as Sk8rboi tells the reader they are on a scraped list. On real cold lists roughly a third of addresses contain no recoverable name, and refusing those on purpose is what keeps the rest trustworthy.