Ttooleras
📱

Extract Phone Numbers

Text Tools

Extract phone numbers from pasted text in US, UK, EU, and international formats, deduplicate, and export to CSV, JSON, or plain list.. Free, private — all processing in your browser.

Advertisement

The Extract Phone Numbers tool scans any text for phone number patterns and returns a deduplicated list of every number found. Phone number extraction comes up constantly in contact management, lead processing, log audits, document mining, and data cleaning. The challenge is that phone numbers appear in wildly different formats — +1 (555) 123-4567, 5551234567, 555.123.4567, 555-123-4567, 1-800-FLOWERS, +44 20 7123 4567 — and a good extractor catches all of them while avoiding false positives on things that look like phone numbers but are not (like timestamps, product SKUs, or random digit sequences).

This tool uses pattern matching tuned for real-world phone number formats with optional country-specific parsing. Default mode catches US/Canada (NANP) numbers and common international formats. Country-specific mode narrows to a single format (US, UK, Germany, France, India, etc.) for cleaner results when you know the origin of the data. Output is normalized to E.164 (+15551234567) by default, which is the international canonical format used by Twilio, Stripe, and most modern APIs. Deduplicated, validated, and exportable to CSV, JSON, or plain list. Runs entirely in your browser so contact lists and communications logs stay private.

Extract Phone Numbers — key features

International format support

Recognizes US/Canada (NANP), UK, EU, and other international phone number formats.

E.164 normalization

Outputs in the international canonical +[country][number] format used by Twilio, Stripe, and other phone APIs.

Country-specific mode

Narrow extraction to a single country format for cleaner results when source is homogeneous.

Vanity number handling

Optionally convert 1-800-FLOWERS to 1-800-356-9377 by translating letters to digits.

False positive rejection

Filters out date-like patterns, SKUs, and other digit sequences that resemble phone numbers.

Deduplication

Normalized comparison so +15551234567, 555-123-4567, and (555) 123-4567 all count as one number.

Multiple export formats

Plain list, CSV, JSON, or comma-separated — pick what your downstream tool needs.

Client-side only

Contact data stays in your browser — safe for processing customer lists or internal logs.

How to use the Extract Phone Numbers

  1. 1

    Paste the text

    Drop any text — log file, document, email thread, CSV — into the input.

  2. 2

    Pick country mode

    Default auto-detection, or narrow to a specific country format for cleaner extraction.

  3. 3

    Extract

    Click extract — the tool finds every phone number and normalizes to E.164.

  4. 4

    Review and filter

    Scan the list for false positives; remove any manually if needed.

  5. 5

    Copy or download

    Copy to clipboard or export as CSV, JSON, or plain list.

Common use cases for the Extract Phone Numbers

Sales and marketing

  • Lead extraction from email: Pull phone numbers from email threads with prospects for CRM import.
  • Contact form parsing: Extract phone numbers from free-text contact form submissions.
  • Directory building: Build a phone directory from multi-source text exports (HR files, business cards, meeting notes).

Customer service

  • Support ticket mining: Extract customer callback numbers from support ticket bodies for phone-based follow-up.
  • Chat transcript analysis: Pull phone numbers from chat logs when customers share them during a conversation.
  • Call-back lists: Consolidate callback numbers from several days of tickets or voicemails into one clean list.

Data processing

  • Log audit: Extract phone numbers mentioned in application or call logs for audit trails.
  • Duplicate detection: Dedupe a contact list’s phone column to find accidental duplicate records.
  • Data migration: Clean phone fields from a legacy export before importing into a new CRM with E.164 requirements.

Extract Phone Numbers — examples

US format

Extracting a NANP number from prose.

Input
Call me at (555) 123-4567 or 555.234.5678
Output
+15551234567
+15552345678

International

Various country formats recognized.

Input
UK office +44 20 7123 4567, France +33 1 23 45 67 89
Output
+442071234567
+33123456789

With extensions

Extensions captured or dropped.

Input
Main line 555-234-5678 ext. 1234
Output
+15552345678 (ext. 1234)

Vanity number

Letters converted to digits.

Input
Call 1-800-FLOWERS for delivery
Output
+18003569377

Deduplication

Same number in different formats counted once.

Input
Call 555-123-4567, that is (555) 123-4567, or +1 555 123 4567
Output
+15551234567 (3 occurrences, 1 unique)

Technical details

Phone number extraction is surprisingly tricky because valid formats vary dramatically by country and convention.

North American Numbering Plan (NANP) used by US, Canada, and most Caribbean: +1 followed by 10 digits, often written as (XXX) XXX-XXXX or XXX-XXX-XXXX. Starting digit can be 2-9; specific area codes and prefixes are reserved.

International (E.164): + followed by country code (1-3 digits) and subscriber number, total 15 digits max. Example: +442071234567 (UK, +44 country code).

European formats: vary by country. UK writes +44 20 7123 4567 (area + subscriber). France writes +33 1 23 45 67 89 or 01 23 45 67 89 domestically. Germany uses +49 30 12345678 or 030 12345678.

Common delimiters between digit groups: space, dash, period, slash, parentheses around area code. The regex normalizes these out for comparison.

Vanity numbers: 1-800-FLOWERS uses letters that map to digits (2=ABC, 3=DEF, etc.). The tool optionally converts letters to digits during extraction.

Avoiding false positives:
- Product SKUs like \"123-45-6789\" look like SSNs not phones
- Dates like \"01-15-2024\" look like phone patterns
- Timestamps like \"10:30:45\" are not phones
- Fax numbers labeled \"fax: ...\" should be distinguished from voice

The tool requires digit count ≥ 7 (smallest valid local number) and ≤ 15 (E.164 max) to avoid matching short sequences. It also requires either + prefix, country code, or standard delimiters to suggest phone format.

Validation beyond regex: check area code against valid NANP area codes, country code against ITU country code list, subscriber number length against country-specific rules. Full validation is complex but covers 95%+ of real-world numbers.

Normalization: convert the extracted number to E.164 by stripping delimiters and adding country code. Use libphonenumber-style rules (infer country from prefix or context). The tool applies a practical subset of libphonenumber rules.

Performance: regex extraction on multi-megabyte text runs in milliseconds. Validation adds negligible overhead.

Common problems and solutions

Dates look like phones

01-15-2024 and 555-123-4567 have similar structure. The extractor uses length and context rules to distinguish, but edge cases slip through. Review output for dates if your text has many.

SSNs and SKUs false positive

xxx-xx-xxxx (SSN) and xxx-xxxx-xxx (product codes) can match phone patterns. Narrow to a country-specific format or enable strict validation to reject non-phone patterns.

Extensions lost

"555-1234 ext 6789" has a phone plus extension. The extractor captures the main number but may drop or separate the extension. Check output if extensions matter for your use case.

International without country code

A UK number written as 020 7123 4567 (no country code) is domestic format. Without country context, extraction may classify as local without country code or guess wrong. Use country-specific mode when origin is known.

Short numbers missed

Emergency numbers (911, 999, 112), short codes for SMS (12345), and service numbers may be shorter than the minimum digit count. The extractor skips these by default. Lower the minimum length if you need them.

Fax vs voice not distinguished

Fax and voice numbers look identical. Text annotations like "Fax:" are the only hint. The extractor does not categorize; you may need to label based on surrounding text.

Non-standard separators

Some texts use unusual separators (·, /, ~). The default regex handles common ones but not all. Add custom separator support if your source uses atypical punctuation.

Extract Phone Numbers — comparisons and alternatives

Compared to writing a phone regex in code, this tool handles the many edge cases (international formats, vanity numbers, false positives) without requiring you to assemble the pattern yourself. For automated pipelines, libphonenumber is the gold standard; for interactive extraction, this tool is much faster.

Compared to contact manager import features, this is the extraction step before import. Run it to clean and dedupe a phone list, then load into HubSpot, Salesforce, or whatever CRM you use.

Compared to Unix grep with a phone regex, this tool has validation and E.164 normalization built in. grep is fine for raw pattern matching; this tool adds the post-processing you almost always need.

Frequently asked questions about the Extract Phone Numbers

How do I extract phone numbers from text?

Paste the text, click extract, and the tool finds every phone number pattern and normalizes to E.164 format (+[country][number]). Supports US/Canada, UK, EU, and most international formats by default.

What is E.164 format?

E.164 is the international canonical phone number format: plus sign, country code, subscriber number, with no delimiters. Example: +15551234567 (US) or +442071234567 (UK). It is the format required by most modern APIs (Twilio, Stripe, banking systems) and the recommended storage format for phone numbers.

Can the tool handle international phones?

Yes. Default mode recognizes US/Canada NANP numbers, plus UK, German, French, and other European formats. Country-specific mode narrows to one country for cleaner extraction when you know the source origin.

Does it remove duplicates?

Yes, with normalization. 555-123-4567, (555) 123-4567, and +15551234567 are all the same number and collapse to a single entry in the output with an occurrence count.

How does it handle vanity numbers like 1-800-FLOWERS?

Optionally. Enable the vanity-number handling option and the tool converts letters to their corresponding digits (2=ABC, 3=DEF, and so on) per the standard keypad mapping. Leaves vanity numbers untouched if the option is off.

Does it validate that numbers are real?

Partial validation. The tool checks length, country code format, and NANP area code against a known list. It cannot verify whether the number is actually in service — that requires sending a call or SMS via a verification service, which is out of scope.

Is my data uploaded anywhere?

No. All extraction and normalization happens in your browser. Phone numbers — a privacy-sensitive data type — never leave your machine, which is important for regulated contexts (HIPAA, GDPR, internal compliance).

Can I extract from a large file?

Yes. Tested with multi-megabyte text in modern browsers with extraction in under a second. For much larger files (gigabytes of logs), a command-line tool with streaming regex is more efficient.

Additional resources

Advertisement

Related tools

All Text Tools

Learn more

Explore more tools

200+ free tools that run in your browser.

Browse all tools →