FastBankConvertFastBankConvert home

Extract Email Addresses from PDF to Excel Lists

By FastBankConvertPublished October 17, 2026

To extract email addresses from a PDF to Excel, paste or convert the PDF text into a column, then use one regex pattern to pull every address out of each cell. Lowercase the results and remove duplicates. If you need names too, pair each address with the name line next to it before you dedupe.

One regex pattern for email addresses in PDF text

One regex pattern finds email addresses in PDF text because every address has the same shape: some characters, an @ sign, a domain, a dot and an ending. A regular expression describes that shape, so it finds addresses mid-sentence, in a table cell or at the end of a signature line.

A practical pattern:

[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}

It is not a full check of every address the email standards allow, and it does not need to be. It matches the addresses people actually print in documents.

In Excel for Microsoft 365, REGEXEXTRACT applies the pattern to a cell. Microsoft's REGEXEXTRACT page says a return mode of 1 returns every match as an array, which matters when one line holds two addresses. With the pasted text in column A:

=IFERROR(REGEXEXTRACT(A2,"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}",1),"")

Lines with no address return blank. Lines with two addresses spill into two cells across the row. To get one long list instead, run the formula over the whole column at once and stack the results with TOCOL, which also drops the blanks with its ignore option.

If the text came from a table in the PDF, such as a contact list with an "Email" column, converting the PDF table to Excel may give you the addresses in their own column already, with no pattern needed.

How do you remove duplicate email addresses in Excel?

Remove duplicate email addresses by first making them all lowercase, then keeping only distinct values. Domain names ignore capitals, and in practice most mail systems ignore them before the @ too, so "Ana@Example.com" and "ana@example.com" should count as one entry in your list.

With the extracted addresses in column B, a single formula does both steps:

=UNIQUE(LOWER(TRIM(B2:B500)))

Microsoft's UNIQUE page lists it for Microsoft 365, Excel 2021 and Excel 2024. TRIM removes stray spaces copied from the PDF, which would otherwise make two identical addresses look different. Without those versions, use Data > Remove Duplicates on a lowercased copy of the column.

Count before and after. If a 300-line directory produces 40 distinct addresses, that may be right for a document that repeats a contact block on every page. If it produces 290 from a list you expected to be unique, look for near-duplicates with a trailing dot or a stray character.

Keeping each email address beside the right name

Keeping each address beside the right name means pairing the two before you sort or dedupe anything. In most PDF directories the name sits on the same line as the address, or on the line just above it. A formula that reads the neighbouring line attaches the name while the order still matches the page.

Here is a worked example from a made-up staff directory page, pasted into column A. All names and addresses are invented.

A: pasted line (example) B: email C: name
Ana Ruiz
Finance ana.ruiz@example.com ana.ruiz@example.com Ana Ruiz
Ben Okafor
Sales b.okafor@example.com b.okafor@example.com Ben Okafor
Ana Ruiz
Finance Ana.Ruiz@example.com ana.ruiz@example.com Ana Ruiz

Column B holds the lowercased pattern result. Column C uses =IF(B2="","",A1), which takes the line above whenever the current line has an address. Once both columns are filled, paste them as values, filter out the rows with no address, and remove duplicates on the email column. The second Ana Ruiz row goes, and two people remain.

If the name is on the same line, take it from the text before the address with =TRIM(TEXTBEFORE(A2,B2)), then strip any department label. Check a few pairs against the PDF either way; one stray line between a name and its address shifts every pair below it.

Which email addresses does the pattern miss or mangle?

The pattern misses or mangles addresses that the PDF text does not show cleanly: addresses split across two lines, addresses that exist only behind a link, and addresses touching punctuation. A quick review of the edges of the list catches most of them.

  • Line breaks. A long address that wraps at the hyphen or the dot comes across as two fragments. Search the source column for lines ending in a dot or hyphen before an @.
  • Links. A name printed as "Email Ana" may hide the address in the link, not the text. The pattern cannot see it.
  • Trailing punctuation. An address at the end of a sentence can pick up the full stop. The pattern's ending part requires letters, so "ana@example.com." stops before the final dot, but check any address whose ending looks odd.
  • Obfuscated addresses. "ana [at] example [dot] com" is written to defeat patterns, and it does.
  • Annotations. Addresses typed into comments or highlights on the PDF sit outside the page text. Extracting PDF comments to Excel and pulling highlighted text from a PDF cover those layers.

An email list is personal data. Keep it only as long as you need it, and use it only for the purpose it was shared for. If you uploaded the PDF to an online converter, deleting your data from a PDF converter explains what to ask for afterwards.

FastBankConvert is built for a different kind of PDF, the bank statement, and turns its transactions into Excel, CSV or JSON. It is not open yet; leave your email on the get-started page to hear when it is.

All posts in Tables and data from PDFs