Phone Number Extractor
Extract and de-duplicate every phone number from a block of text or a pasted document. Recognizes US, international (+country code), toll-free, parenthesized and dotted/dashed/spaced formats, keeps the richest spelling of each number, and counts the results.
Input
Output
Guides
Paste any block of text — an email thread, a scraped web page, a contact dump, a CSV export — and this tool pulls out every phone number it can find, removes duplicates, and gives you a clean list plus a total count. It runs entirely in your browser: nothing you paste is uploaded anywhere.
How to use it
- Paste or type your text into the input box (or load the built-in example).
- The extracted numbers appear instantly in the output box, one per line.
- Pick a separator (new line, comma, or semicolon) if you want the list in a different shape — handy for pasting into a spreadsheet cell or a CSV column.
- Copy the result or download it as a
.txtfile.
What formats are recognized
The extractor is tuned for the way phone numbers actually appear in real text:
- US style with parentheses —
(555) 123-4567 - Dashed, dotted, or spaced —
555-123-4567,555.123.4567,555 123 4567 - International with a country code —
+1 (555) 123-4567,+44 20 7946 0958,+61 2 8765 4321 - Toll-free —
1-800-555-9876 - Bare 10-digit runs —
5551234567 - Common emergency short codes —
911,112,999
How duplicates are handled
The same number is often written several different ways in one document. Each
match is reduced to its significant digits and compared, so (555) 123-4567,
555-123-4567, and 5551234567 all collapse into a single result. When a
number appears more than once, the richest, most complete spelling is kept.
Why some numbers are skipped
To avoid false positives, the tool ignores digit strings that don't look like
phone numbers. ISO dates (2023-11-15), Social Security-style groupings, order
IDs, and short reference codes use different digit patterns, so they are left
out. Standalone 3-digit numbers are only kept when they match a known emergency
code — a random 456 inside an ID like AF39-456 is not treated as a phone
number. Local 7-digit numbers without an area code are also skipped, since they
are indistinguishable from ordinary numeric text.
Is my data private?
Yes. Extraction happens locally in your browser using pattern matching — the text you paste never leaves your device and is not stored or transmitted.