gizmobench
BrowseDaily

Phone Number Extractor

Paste text to list phone number candidates with their original spelling, digits and available E.164 form. Extensions stay separate, repeats fold into one row with a count, and skipped dates or long identifiers include a reason. Choose a region for local numbers, then copy the complete list or download CSV. The scan reads pasted text in your browser.

found0 numbers

Paste text into the text box, or .

Found
0
Unique
0
Export

Nothing pasted yet. Paste text into the text box and every phone number in it is listed in the found pane as written, paired with its digits. A run of 7 to 15 digits counts as a candidate: a shorter run, a longer one and a date are listed as skipped, and an extension written after ext, x or # is kept in its own column.

Every match is kept exactly as it was written, and the digits sit beside it, so the list can go back into the sentence it came from. The region only matters for a number written without a country code: with US +1 chosen, a national number is written out in full. A paste of up to 200,000 characters is read in one pass, and nothing you paste leaves this browser.

Accuracy. Finds candidates in the text you paste and shows each one exactly as it was written, paired with its digits. It is a text search, not a check that a number exists or is in service, and it reads only what you give it.

Common questions

How does it decide what is a phone number and what is not?
It reads the punctuation the way a person does. A letter, a comma, a line break or a double space ends a run, and what survives is digits with the separators numbers are written with: plus, spaces, hyphens, dots, slashes and parentheses. A run of 7 to 15 digits is then treated as a candidate, 15 being the most digits E.164 allows including the country code. Longer runs are listed as skipped with their digit count, runs of 5 or 6 digits are listed as skipped as too short, and a run of fewer than 5 digits is passed over in silence, because a house number or a seat row is not a near miss worth reporting. Inside a run, a plus sign starts a new number, an opening bracket after 7 digits starts a new number, and a plain space after 10 digits starts a new one when the number so far already used a hyphen or a dot, or already holds four groups of digits. That last rule is what separates "617-555-0142 2026-09-20" into a number and a date while leaving "+44 20 7946 0958" whole. The one case the rules cannot always split is two numbers written with nothing but a single space between them and no punctuation at all in either.
Does it keep the number exactly as it was written?
Yes, and that is the point of the two columns. The first column is the match character for character, brackets, spaces, dots and all, taken straight out of your text. The second column is the same number normalised: E.164 when a numbering plan accepts the digits, plain digits when none does. Nothing is rewritten in place, so a number you pull out of a signature can go back into the sentence it came from, and the person reading the list can still recognise the number they were looking for. Copy writes the normalised column, one number per line, and the CSV carries both.
What happens to dates, order numbers and reference codes?
They are named rather than quietly counted as phone numbers. A date written 2026-09-20, 09/20/2026 or 20.09.2026 is recognised by its shape, a four digit year between 1900 and 2099 with a month and a day around it, and it is listed under the results as "skipped: a date". A long identifier such as an 18 digit order number is listed with its own digit count and the note that it is longer than the 15 digits E.164 allows. Anything that survives those checks is still called a candidate rather than a number, because a 10 digit account reference and a 10 digit phone number look identical in plain text. The status on each row says how far the check went: valid means the digits match a published range in that country's numbering plan, possible means the length fits the plan but no published range matches, and candidate means no plan claims the digits or no region was set.
Can it read international numbers, and what does the region setting do?
A number written with its country code, such as +44 20 7946 0958, is read on its own and the region setting is ignored for it. The region only matters for a number written the way a local writes it, with no country code: choose US and 617-555-0142 becomes +16175550142, choose GB and 020 7946 0958 becomes +442079460958. Leave the region unset and those numbers are still found and still listed, with their digits alone and no country code invented for them. All 245 country and territory codes that libphonenumber-js carries are in the list, and the validity check and the E.164 form come from that library's bundled numbering plans, version 1.13.12, which is read in this tab like the rest of the tool.
Are extensions kept?
Yes, in their own column. An extension written after ext, ext., extension, xt, x or # is read as an extension and never joins the number's digits, so 617-555-0142 ext. 214 gives you +16175550142 with 214 held separately and the text "ext. 214" quoted as you wrote it. Two rows that share digits but carry different extensions stay two rows, since a switchboard number with two extensions is two contacts. The extension digits are also taken out of the scan, so 214 is never listed a second time as a short run of its own.
Does it remove duplicates?
It folds them and tells you how many there were. The same number written three ways, (617) 555-0142 and 617.555.0142 and +1 617-555-0142, is one row in the list below the stage, showing the first spelling seen and "seen 3 times". The Found count above stays honest about how many matches are in the text and the Unique count tells you how many distinct numbers that is. Two numbers count as the same when they normalise to the same E.164 form, or when no plan claims them and their digits match, and the extension is part of that comparison.
Is my text uploaded anywhere, and how much can I paste?
Nothing is uploaded. The scan runs in your browser, there is no server in this, no account to make and nothing sent or logged, which is also why there is no queue and the list updates as you type. One pass reads up to 200,000 characters and lists up to 5,000 candidate numbers; past either, the tool says what it counted and what the limit is and asks you to split the text, rather than scanning part of it and handing back a list that looks complete. Your draft and your region choice are remembered in this browser alone so they are still there when you come back, a paste over 100,000 characters is read in full but not stored, and you can clear this site's saved data in your browser settings to forget both.
Can I get the numbers into a spreadsheet?
Download writes a CSV with one row per unique number and the columns original, digits, e164, extension, status, note and occurrences, quoted to RFC 4180 so a note containing a comma stays in its own field. The Export switch changes what the Copy button writes: Numbers gives the normalised list, one per line, ready to paste into a column, and CSV puts the same rows on the clipboard. Both always write every row, including the ones past the sixty the preview spells out.
Can I extract local numbers from Ghana, India, Nigeria or the US?
Yes. Set Region to Ghana (GH), India (IN), Nigeria (NG) or United States (US) before pasting text with local numbers from that country. The bundled numbering plan determines whether a candidate is possible or valid and whether an E.164 form can be produced. An explicit international number beginning with + uses its own country code regardless of the selected region. A valid format does not show that a number is assigned or in service.
Can I upload a file or PDF, or extract directly from a website or social profile?
The input accepts pasted text. It has no file or PDF importer, URL fetcher, website crawler or social-profile connection. Text containing CSV rows can be pasted, and the output can be downloaded as CSV. Results contain phone number candidates and extensions; the tool does not extract email addresses or associate names with numbers.
How do I use the phone number extractor in Chrome?
Open this page in Chrome, paste your text and choose a region if local numbers need one. Copy the resulting list or download CSV. This page uses browser controls and does not install a Chrome extension.

Finds candidates in the text you paste and shows each one exactly as it was written, paired with its digits. It is a text search, not a check that a number exists or is in service, and it reads only what you give it.