Extract Emails & Phone Numbers from Text
Paste any text — email threads, signatures, contact lists — and get every email address and phone number, deduplicated and counted. Deterministic, private, and runs in your browser.
Extract emails and phone numbers from pasted text
Paste an email thread, signature block, exported notes, CRM snippet, or contact list and this tool returns the contact details it can recognize. It is deterministic regex extraction — no LLM guessing — and it runs locally in your browser.
What it finds
- Email addresses with common local parts, plus tags, subdomains, and real TLDs.
- Phone numbers written as international numbers (
+44 20 7946 0958), area-code forms ((415) 555-2671), dashed/dotted/spaced groups, or continuous 10–15 digit runs. - Optional filtering to extract emails only, phones only, or both.
- Optional deduplication: emails by lowercase address, phones by normalized digits.
Worked example
Input:
Reach Alice at [email protected] or call +1 415 555 2671. Bob: [email protected], (212) 555-0199.
Output:
- 2 emails:
[email protected],[email protected] - 2 phones:
+1 415 555 2671,(212) 555-0199
Limits and edge cases
- Phone detection is pragmatic, not a country-aware validator. Use phone-format for country-specific formatting/validation.
- Short numeric codes, years, and long ID numbers are ignored where possible.
- The tool does not infer missing area codes, contact names, companies, or labels.
- Very messy OCR may need cleanup before extraction.
Does this validate that an email inbox or phone number is real?
No. It extracts values that look like email addresses or phone numbers. It does not check MX records, send test messages, call phone-number APIs, or verify deliverability.
How are duplicates handled?
With dedupe on, emails are compared case-insensitively and returned lowercased. Phone numbers are compared by their digits, so 555-123-4567 and (555) 123 4567 count as the same number.
Can I keep every occurrence instead?
Yes. Turn off dedupe to keep duplicate matches in the order they appear. This is useful when you want to count repeated mentions rather than build a clean contact list.
Why did it miss or include a phone-like number?
Phone numbers vary by country and context. This tool uses safe general patterns with digit-count filters; it may miss unusual local formats or include a phone-like business identifier. For country-specific validation, run the extracted values through a dedicated phone formatter/validator.
Developer & Automation Access
Run it from the terminal
Same engine as this page, headless — via the gizza CLI:
gizza tool contact-info-extractor "Reach Alice at [email protected] or +1 415 555 2671.
Bob: [email protected], (212) 555-0199."New to the CLI? Get gizza →
Open it by URL
Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:
https://gizza.ai/tools/contact-info-extractor/?input=Reach%20Alice%20at%20alice%40corp.com%20or%20%2B1%20415%20555%202671.%0ABob%3A%20bob%40corp.com%2C%20%28212%29%20555-0199.&types=both&dedupe=true&sort=first-seenMachine-readable descriptor: tool.json — title + parameters JSON Schema for agents.
