Phone Number ExtractorExtract, Format and Dedupe

Paste any text and get a clean list of the phone numbers in it. Duplicates are removed, and you can reformat the list for a spreadsheet, a CRM, or an SMS tool.

Your input is never sent anywhere.

Details
Remove duplicates
Include extensions (ext. 42)
Strict US format check
Comma-separated output
Output format
Extracted numbers
0 numbers

Paste some text to find phone numbers

How to pull phone numbers out of a block of text

Phone numbers in emails, web pages, and notes are written many ways: (212) 555-0100, 212.555.0100, 1-800-555-0199, +44 20 7946 0958. Copying them one by one is slow, and the same number often appears twice in different styles.

This extractor scans the pasted text for US and Canadian numbers and for international numbers that start with a +. It lists each one on its own line, removes duplicates by comparing the digits, and can rewrite the whole list in one format.

Choose how the list comes out: as written, as (212) 555-0100, as 212-555-0100, as digits only, or in E.164 form for SMS tools and CRMs.

Where a cleaned phone number list helps

Email signatures and contact pages

Paste a thread or a company page and get just the numbers, without copying around the names, titles, and addresses.

SMS and CRM imports

Many import tools want digits only or E.164 numbers. Convert the whole list at once instead of editing each cell.

Messy exports and notes

Numbers from forms, spreadsheets, and chat logs come in mixed styles. Dedupe and standardize them before you load a list.

Text copied from PDFs and documents

Copy the text out of a report or directory, paste it here, and skip the manual search through pages for the numbers.

How to extract and format phone numbers

  1. Paste your text into the box, or click Try an example to see how it works.
  2. Pick an Output format. Use As written to keep the numbers as they appear, or choose a standard style such as E.164.
  3. Leave Remove duplicates on, and turn Include extensions on or off as you need.
  4. Click Copy all, or Download .txt to save the list.

Note: The list updates every time you change the text or a setting. There is no extract button.

What the tool does and doesn't detect

  • US and Canada: 10-digit numbers, with or without parentheses, separators, or a leading 1 or +1. Toll-free numbers such as 800 follow the same pattern and are found.
  • International: numbers that start with + and have 8 to 15 digits. A foreign number without + isn't listed, because its country can't be told from the digits alone.
  • Not detected: 7-digit local numbers, numbers with letters, and digit strings that are part of a longer number.
  • Format, not validity: the tool checks how a number is written. It can't tell whether the number is in service or who owns it.
  • Extensions: ext. 42, x42, and #42 right after a number are kept as x42 when Include extensions is on. Digits only and E.164 never include them.

Phone number formats it recognizes

How common ways of writing a number are treated.

Written asExampleFound?
Parentheses and dash(212) 555-0100Yes
Dashes, dots, or spaces212-555-0100, 212.555.0100, 212 555 0100Yes
Digits only2125550100Yes, if exactly 10 digits
With country code 11-800-555-0199, +1 212 555 0100Yes
Extension212-555-0100 ext. 42, x42Yes, kept or dropped as you choose
International with ++44 20 7946 0958Yes, 8 to 15 digits
International without +020 7946 0958, 011 44 20 7946 0958No
7-digit local number555-0100No
Letters in the number1-800-FLOWERSNo

Tip: if a number is missing from the results, check the table above first. Most misses are numbers without an area code or a country code.

Before you contact a list, make sure you have the right to call or text those people.

Formatting numbers for CRMs, SMS tools, and spreadsheets

Which output format to choose, and how the duplicate check and the strict setting work.

E.164: the format most SMS tools and APIs expect

E.164 is the international standard for writing a number: a + sign, the country code, then the number, with no spaces or punctuation and at most 15 digits. A US number becomes +12125550100.
Choose E.164 when a tool asks for "international format" or rejects numbers with dashes or parentheses. Check the import tool's own instructions to be sure, since some accept other styles.

Duplicates are matched on the digits

Numbers from different sources are written differently, so comparing text misses repeats. Here (212) 555-0100, 212.555.0100, and +1 212 555 0100 are all the same number, and only the first appears in the list.
A number with an extension is treated as a separate entry when Include extensions is on.

Loose or strict: choosing how picky the match is

A US or Canadian number follows the pattern NXX-NXX-XXXX, where N is a digit from 2 to 9. The strict check applies that rule to the area code and the next three digits, which filters out many random 10-digit strings.
The default is loose, so sample numbers such as 123-456-7890 still show up when you test the tool or clean up demo data. Switch to strict for real contact data that also contains order numbers or IDs.

Phone list problems and how to avoid them

The same number appears twice in different styles

A list built from several sources has (212) 555-0100 in one place and 212.555.0100 in another. A plain text comparison treats them as two numbers, so the person gets contacted twice.

💡 See the solution▼
Leave Remove duplicates on. The tool compares digits, so every style of the same number is merged into the first one it finds.

A foreign number is missing from the results

A UK number copied as 020 7946 0958 has no country code, so the tool can't tell it from a number in another country and doesn't list it.

💡 See the solution▼
Add the country code with a + before pasting, as in +44 20 7946 0958. Then it is detected and can be converted to E.164.

Order numbers and IDs listed as phone numbers

Any run of 10 digits fits the loose pattern, so a 10-digit order or account number can show up in the list.

💡 See the solution▼
Turn on the strict US format check, which requires the area code and next three digits to start with 2 to 9, and look over the list before you use it.

An import tool rejects the formatted numbers

SMS and CRM imports often fail on numbers with parentheses, dashes, or spaces, or on numbers without a country code.

💡 See the solution▼
Set Output format to E.164, or to Digits only if the tool wants plain digits. Check the tool's import guide for the format it expects.

Extensions end up inside the number

With ext. 42 left attached, a spreadsheet column or import field can read the extension as part of the number or reject the row.

💡 See the solution▼
Turn off Include extensions, or choose Digits only or E.164, which never include them. Keep the extensions in a separate column if you need them.

Phone number extraction FAQ

Q.How do I extract phone numbers from text?

Q.

A. Paste the text into the box. The tool scans it, lists every phone number it finds, and updates as you type. You can then copy the list or download it as a .txt file. To try it first, click "Try an example".

Q.Which phone number formats does it detect?

Q.

A. US and Canadian numbers written as (212) 555-0100, 212-555-0100, 212.555.0100, 212 555 0100, or 2125550100, with or without a leading 1 or +1. It also detects international numbers that start with a + sign and have 8 to 15 digits, such as +44 20 7946 0958.

Q.Does it find international numbers?

Q.

A. Yes, if they start with a + and a country code. A number written the local way, such as 020 7946 0958, has no country code, so the tool can't tell which country it belongs to and doesn't list it. Numbers dialed with an international prefix like 011 or 00 instead of + are not detected either.

Q.How do I convert phone numbers to E.164 format?

Q.

A. Choose E.164 under Output format. US and Canadian numbers become +12125550100. International numbers keep their country code and lose spaces, dashes, and parentheses, so +44 20 7946 0958 becomes +442079460958. A (0) written after the country code, as in +44 (0)20, is dropped. E.164 numbers have at most 15 digits.

Q.How does it remove duplicate phone numbers?

Q.

A. It compares the digits, not the way the number is written, so (212) 555-0100, 212.555.0100, and +1 212 555 0100 count as one number. Only the first one is kept. If Include extensions is on, the same number with a different extension counts as a different entry.

Q.What does the strict US format check do?

Q.

A. A US or Canadian number has the pattern NXX-NXX-XXXX, where N is a digit from 2 to 9. With the strict check on, the tool only lists numbers whose area code and next three digits start with 2 to 9. With it off, which is the default, any 3-3-4 pattern is listed, including sample numbers like 123-456-7890. Turn it on if random 10-digit IDs show up as phone numbers.

Q.Why wasn't a number in my text found?

Q.

A. The usual reasons are a 7-digit local number without an area code, a number with letters such as 1-800-FLOWERS, a foreign number with no + and country code, or digits split by line breaks. The tool also skips digit strings that are part of a longer run of numbers, to avoid matching IDs and account numbers.

Q.Can I get the list into Excel or Google Sheets?

Q.

A. Yes. Copy all gives you one number per line, which pastes into a column. Turn on Comma-separated output if you need a single line instead, or use Download .txt. Choose Digits only or E.164 first if the sheet or import tool needs numbers without punctuation.

Q.Can it extract phone numbers from a PDF or an image?

Q.

A. It works on text, so copy the text out of the PDF and paste it in. A scanned PDF or an image needs text recognition first. After that, paste the recognized text here.

Q.Is my text sent to a server?

Q.

A. No. The numbers are found with JavaScript in your browser, and your text isn't uploaded. It stays in the page while it is open, and closing or reloading the page clears it.

User Feedback & Request

Your feedback
makes this tool better.

Tell us which features you'd like, what should be fixed, or which new tool you'd like to see. An engineer reads every submission and uses it to guide development.

Send feedback