Text Extractor
Paste anything, a web page, an email thread, a spreadsheet column.
- 2
- Found
- 2
- Unique
- 0
- Duplicates
sales@example.com press@example.org
The text extractor pulls one kind of thing out of a block of text: email addresses, numbers, @mentions, URLs or #hashtags. For emails it can also reverse the common obfuscation of writing "name [at] example [dot] com", which is how addresses are published to defeat naive scrapers.
How it works
Each mode uses a pattern tuned for what that thing actually looks like in real text rather than for formal correctness.
- Emails: permissive on the part before the @, strict on the domain. Real addresses contain plus signs, dots and hyphens far more often than they are genuinely malformed.
- Numbers: matches negatives and values containing separators, so 1,250.00 comes out as one number rather than three.
- Mentions and hashtags: require a non-word character before the @ or #, so an email address is not misread as a mention.
- URLs: http and https only, stopping at whitespace or a quote.
Duplicates are removed by default, and the count of both raw and unique matches is shown. The gap is often the useful number when auditing a page or a thread.
Examples
Emails including an obfuscated one
Text
Contact sales@example.com or press [at] example [dot] org.
Deobfuscate
On
Result
sales@example.com press@example.org
The bracketed form is converted before matching. With deobfuscation off, only the first address is found.
Mentions, not email addresses
Text
Ask @cadmeo or email hi@example.com
Extract
@mentions
Result
@cadmeo
The pattern requires a non-word character before the @, so the domain part of an email is not picked up as a mention.
Numbers with separators
Text
Invoice 1,250.00 due in 30 days
Extract
Numbers
Result
1,250.00 30
Separators are kept inside the match, so the invoice total stays one number. A simpler digit pattern would return 1, 250, 00 and 30.
Frequently asked questions
Why does it find addresses written as "name [at] example [dot] com"?
Because that is how addresses are published on the web to defeat simple scrapers, and reversing it is often exactly what someone extracting from a page they own needs. It is opt-in, so it can be turned off when you want only genuine addresses.
Does it validate that an email address actually exists?
No. It matches things shaped like addresses. Whether an address is deliverable can only be established by sending to it. No pattern, however strict, can tell you that.
Why is an email address not counted as a mention?
Because the mention pattern requires a non-word character immediately before the @. Without that rule, hi@example.com would yield a mention of @example, which is almost never what you want.
Should I use this to build a mailing list?
Extracting addresses from a page does not give you permission to email them. Under GDPR and similar laws, scraping addresses and sending unsolicited mail is unlawful regardless of how the addresses were obtained.