Get first and last names from email addresses
To get a name from an email address, read the part before the @: most work addresses follow a pattern, so john.smith@ is John Smith and j.smith@ is J. Smith. This tool does it for a whole list, rates each guess and leaves role addresses like info@ blank. It's a pattern guess, not an owner lookup.
Below the level you pick, the name cells are left blank so a mail merge falls back to your default greeting.
Sample result
jane.doe@acme.example most likely belongs to Jane Doe, with high confidence.
- Name
- Jane Doe
- From
- jane.doe@acme.example
- Note
- Two separated parts
What this means for you
Use the names to personalise greetings; check the medium and low guesses first.
- First and last names from address patterns
- High, medium or low confidence per guess
- Role addresses left blank
- Choose the minimum confidence to keep
- Names
- Mail merge
- CSV
By SimpleVerifier Team · Last updated · Runs in your browser; nothing you paste is sent to us
How do I get names from a list of email addresses?
- Paste addresses one per line, or upload a CSV; the email column is found and your other columns are kept. Files can be up to 25 MB.
- Choose the lowest confidence you want filled in. Below it, the name cells stay blank so a mail merge uses your fallback greeting.
- Press Get names and check the preview, especially the Low rows.
- Download the CSV with first_name, last_name, confidence and a note on how each name was read.
Example
- You enter
- Three addresses:
jane.doe@acme.example,j.smith@yourcompany.exampleandinfo@acme-mail.example. - You get
- Jane Doe with high confidence, J. Smith with medium confidence (first initial and surname), and blank names for info@ because it is a role address, not a person.
- Limits
- Runs in your browser with no row cap; an uploaded file can be up to 25 MB.
How do I extract a first and last name from an email address?
Split the part before the @ on its separators and capitalise each piece. The tool splits on dots, underscores and hyphens, drops digits and plus tags, and capitalises each part (with McDonald-style names handled). Two full parts, such as maria_garcia, are High: first name, then surname. An initial plus a name, such as j.doe or priya.r, is Medium, as is a run-together word that starts with a common first name (danielsmith becomes Daniel Smith), or three parts where the middle ones join the surname (mary.van.dyke becomes Mary Van Dyke). A single word such as jsmith or smith is Low: it could be a first name, a surname or both.
Role addresses (info@, sales@, support@ and nearly 150 others from our role address list, which starts from the mailbox names in RFC 2142) get no name, because no person's name is in them. So do addresses with no letters.
How do I separate a name from an email address in Excel?
Use TEXTBEFORE and TEXTAFTER on the part before the @. In Excel for Microsoft 365, =PROPER(TEXTBEFORE(TEXTBEFORE(A2,"@"),".")) gives the first name and =PROPER(TEXTAFTER(TEXTBEFORE(A2,"@"),".")) the last name for a first.last@ address. See Microsoft's pages on TEXTBEFORE and PROPER.
The formula works for one separator at a time. It returns an error for maria_garcia@ or jsmith@, gives Mcdonald rather than McDonald, and turns sales.team@ into a person called Sales Team. Upload the sheet here as a CSV instead and every pattern is handled at once, with a confidence column you can filter on.
Can I find someone's name from their email address?
Only as a guess from the pattern, and this tool does nothing more than that. The tool assumes first name, then surname. Some companies use smith.john@ or smithj@, and the guess flips them; if you know a domain's format, check a few rows. Our study of professional email formats covers which patterns are common. Nicknames come through as written (bob@ stays Bob, not Robert), and names from outside the English-speaking world are only split when they're separated in the address, because the run-together splitter only knows common English first names.
It can't tell you who owns an address. A guess from the pattern isn't identity: it doesn't confirm the person exists, works there, or reads that inbox. That's deliberate. Reverse email lookups that claim to name the owner are a different, privacy-sensitive kind of service, and this isn't one.
How should I use the names in outreach?
Fill {{first_name}} only from High and Medium rows; for Low rows, a neutral greeting is safer than calling a Mr Smith "Smith". Personalisation also only helps if the message arrives. A list old enough to need names reconstructed is usually old enough for people to have left, and their mailboxes bounce. Our post on personalisation at scale covers the rest.
Is this faster than an Excel formula?
| This tool | Excel formula | |
|---|---|---|
first.last, first_last, first-last | All handled | One formula per separator |
j.doe and run-together danielsmith | Split, with a confidence | Error or wrong split |
sales.team@ and other role addresses | Left blank | Read as a person's name |
| McDonald-style names | Capitalised correctly | PROPER gives Mcdonald |
Excel first name for first.last@: =PROPER(TEXTBEFORE(TEXTBEFORE(A2,"@"),".")).
Who uses this tool, and for what?
- Cold emailers
- Fill a
{{first_name}}column for a list that only has addresses, keeping Low-confidence rows blank so they fall back to a neutral greeting. - Marketers
- Personalise a newsletter or re-engagement campaign for subscribers who signed up with an email only, and skip
info@and other role addresses found by the role-based email filter. - Sales ops
- Backfill first and last name fields in a CRM import where only the email column came through, using the confidence column to decide what to trust.
- Recruiters
- Turn a list of applicant addresses into a greeting-ready sheet before a mail merge, checking the Low rows by hand.
What can’t this tool tell you?
- It's a pattern guess. It can't tell you who owns an address or whether the person exists.
- It assumes first name, then surname.
smith.john@comes out as Smith John. - Run-together addresses like
danielsmith@are only split when they start with a common English first name. - Nicknames stay as written, and a display name such as
Jane Doe <jane@acme.com>is not read.
Common questions
- How do I extract a name from an email address?
- Split the part before the @ on dots, underscores or hyphens and capitalise each part: john.smith@acme.com becomes John Smith. Paste a list above to do it in bulk, with a confidence rating and role addresses like info@ left blank.
- How do I get a name from an email address in Google Sheets?
- For first.last addresses, =PROPER(REGEXEXTRACT(A2,"^([^.@]+)")) returns the first name and =PROPER(REGEXEXTRACT(A2,"\.([^.@]+)@")) the last name. For a mix of patterns, download the sheet as CSV and run it through this tool.
- Can I find the real name of the person behind an email address?
- Not with this tool. It only reads the pattern of the address. Finding who actually owns an address needs other data sources and raises privacy questions; this tool does no lookups and sends nothing anywhere.
- What is the name attached to an email address?
- Usually the display name the sender set in their mail app, shown next to the address, as in Jane Doe <jane@acme.com>. It isn't part of the address itself, so this tool can't see it; it reads only the address text you paste.
- What about addresses like jsmith@ or smithj@?
- A single word can't be split reliably: jsmith could be J. Smith or a first name. The tool marks these Low confidence and puts the whole word in the first-name column, so you can choose to leave them blank in the download.
- Why are some rows left blank?
- Role addresses such as info@, sales@ and support@ don't contain a person's name, so they're left blank on purpose. Addresses with no letters, or one long word that can't be split, are blank too.
- Is my list uploaded?
- No. Everything runs in your browser, and nothing is sent to us.
Sources
A tidy list can still be full of dead addresses.
Extracting, deduplicating and syntax checks all work on the text of an address. None of them can tell whether the mailbox exists. Only the server that hosts it can answer that, through an SMTP check, and that is what the paid product does.
- Upload the cleaned file as it is: CSVs up to 100,000 rows
- A real SMTP mailbox check on every row, with catch-all detection
- Small list? $9 one-time covers 2,500 emails, no subscription
One plan, cancel anytime, no contract. Sign in with Google and your first 100 email checks are free, no card. The free tools stay free either way.