Extract Emails from Text
Find and list every email address in text, HTML or CSV, with duplicate removal, domain filters, sorting and decoding of [at] and [dot].
This guide is not yet available in your language and is shown in English.
Tool guide
What this tool does
Extract Emails from Text scans any pasted content and returns a clean list of the email addresses it contains. You can lowercase and de-duplicate them, keep or drop particular domains, group them by domain and choose a separator ready for a mail client or spreadsheet.
Email addresses end up buried in all sorts of material: signatures in a long thread, a sign-up sheet exported as CSV, the HTML of a contact page or a server log. Picking them out by hand misses some and copies others twice, and a single stray comma or angle bracket stops a mail client accepting the list.
The extractor applies a pattern modelled on the RFC 5322 “dot-atom” form used by practically all real addresses: allowed characters in the local part, then @, then one or more domain labels and a top-level domain of at least two letters. International letters are supported, mailto: links are URL-decoded, and trailing full stops are dropped. An optional step rewrites common obfuscations such as “name [at] example [dot] com”. De-duplication ignores case. Processing is local, so contact lists are not uploaded anywhere.
How to use Extract Emails from Text
- Paste text, HTML source, a CSV export or log lines into the input box.
- Keep “Remove duplicates” and “Convert to lowercase” on for a clean mailing list.
- Turn on “Decode name [at] domain [dot] com” if addresses on the page were obfuscated.
- Choose an Order: as found, alphabetical, or grouped by domain.
- Optionally enter domains in “Filter by domain” and pick whether to keep or remove them.
- Select a separator, such as semicolons for Outlook, then copy or download the list.
Tips for better results
- Paste a page’s HTML source rather than its visible text to catch addresses that only appear in mailto: links.
- Use the exclude filter with your own company domain to list only external contacts from an email thread.
- The domain summary below the result shows which organisations appear most often.
- Gmail ignores dots in the local part, so jane.doe@gmail.com and janedoe@gmail.com reach the same inbox even though they are listed separately.
Common use cases
- Building a recipient list from a spreadsheet column mixed with names and notes.
- Collecting the participants of a long email thread to invite them to a meeting.
- Auditing a website’s HTML for exposed addresses that may attract spam.
- Pulling contact emails out of a support log for follow-up.
Common mistakes to avoid
- Sending marketing email to extracted addresses without consent, which breaches laws such as GDPR and CAN-SPAM.
- Assuming every match is deliverable; the tool checks format only, not whether the mailbox exists.
- Turning off lowercase and de-duplication, which leaves Billing@Example.com and billing@example.com as two entries.
Frequently asked questions
Which email formats are detected?
Addresses of the usual form local-part@domain.tld, including plus addressing (name+tag@), dots, hyphens, subdomains and international letters. Quoted local parts and IP-address domains, which are allowed by the standard but almost never used, are not matched.
Why is user@localhost not found?
The pattern requires a domain with a dot and a top-level domain of at least two letters, because addresses without one cannot receive mail on the public internet. This avoids false matches such as code annotations and Twitter-style handles.
Does it verify that the addresses exist?
No. It only checks that each address is well formed. Verifying a mailbox requires contacting the mail server, which this tool deliberately does not do.
How many addresses can it handle?
Tens of thousands. Matching runs in a single pass over the text, and a 5 MB export is processed in well under a second on a typical laptop.
Related articles
Feedback & suggestions
Help us improve Extract Emails from Text. We read every message.