📧 Extract Emails

📝
Lines: {{ inputText.split('\n').length }} | Characters: {{ inputText.length }}
🎯
Balanced accuracy for most common email formats
RFC 5322 compliant, highest validation accuracy
Catches unusual but valid email formats
⚙️
{{ contextLength }} characters
📧
{{ emailData.email }} {{ emailData.domain }} {{ emailData.tld }}
Line {{ emailData.line }} • Position {{ emailData.position }}
{{ emailData.context }}
🌐
{{ domain }}
📊
Extraction Results:
Total Found: {{ stats.extraction.totalFound }}
Unique Emails: {{ stats.extraction.uniqueEmails }}
Duplicates Removed: {{ stats.extraction.duplicatesRemoved }}
Mode: {{ stats.extraction.extractionMode }}
Top Level Domains:
.{{ tld }}: {{ count }}
🏢
{{ domain }}: {{ count }}
⏳ Processing text...
🔍 No email addresses found in the provided text.
⚠️ {{ error }}

ℹ️ About Extract Emails

Extract Emails scans pasted text for email address candidates and returns a clean list with optional deduplication, sorting, line numbers, character positions, nearby context, unique domains, and top-level-domain counts. It is useful for reviewing support exports, mail logs, CSV dumps, CRM notes, documentation, and incident evidence where email addresses are mixed into larger text.

Email address syntax is more complicated than a simple [email protected] pattern. This tool focuses on practical extraction from messy text while using common mailbox and domain conventions described by RFC 5322, internationalized email background from RFC 6531, and internationalized domain-name terminology from RFC 5890.

Extraction modes:

  • Standard: Matches the common ASCII forms most teams expect, such as [email protected] and [email protected].
  • Strict: Uses a tighter mailbox and hostname pattern to reduce false positives in logs, code, and prose.
  • Permissive: Accepts a broader local-part character set for addresses that use symbols such as !, =, _, or ~.

Practical workflows:

  • Extract contact addresses from tickets, exported notes, or copied web page text before importing into another system.
  • Review mail, application, or security logs by keeping the surrounding context and original line position for each match.
  • Deduplicate mixed-case addresses such as [email protected] and [email protected] into one normalized result.
  • Group findings by domain or TLD to spot repeated organizations, disposable domains, or unusual address distribution.
  • Copy only domains when the next step is MX, SPF, DMARC, WHOIS, or DNS investigation.

Example:

Input like Contact [email protected], [email protected], and [email protected] can produce the unique emails [email protected] and [email protected], plus domain counts for example.com and mail.example.org.

Limitations and handling notes:

  • Extraction is not mailbox verification: a match can still be unreachable, inactive, or blocked by the receiving domain.
  • Regex extraction cannot fully implement every quoted-string, comment, obsolete, or SMTPUTF8 edge case from the email RFCs.
  • Fully Unicode email addresses may need normalization or punycode/SMTPUTF8 handling before extraction.
  • Email addresses can be personal data; process only text you are allowed to handle and avoid using extracted addresses for unsolicited mail.

API Usage Example:

POST /api/tools/text/extract-emails
Content-Type: application/json

{
    "text": "Contact [email protected] or [email protected]",
    "extractionMode": "standard",
    "removeDuplicates": true,
    "sortResults": false,
    "includeContext": false,
    "contextLength": 30,
    "extractDomains": false
}
Ready