Skip to content

Phone number formats, prefixes and validation, for developers.

Valid fixed line or mobile number in United States.

+1
country code
201
area code
5550123
subscriber number
CountryUnited States numbering plan
Line typeFixed line or mobile
Carrier the block was allocated toNo carrier on record for this prefix
E.164+12015550123
International+1 201-555-0123
National(201) 555-0123
RFC 3966tel:+1-201-555-0123

Source: North American Numbering Plan Administrator (NANPA); Canadian Numbering Administrator (CNAC); National numbering plans, ITU-T E.164 (ITU)

The same answer from a terminal: curl https://phonelookup.dev/+14155552671

What you can do here

Explore the world by calling code

All 245 numbering plans as tiles in the ITU's nine zones, coloured by number length, portability or exit code, with every plan's facts in a table.

+30GR+31NL+32BE+33FR+34ES+40RO+41CH+43AT+44GB+44GG+44IM+44JE+45DK+46SE+47NO+47SJ+48PL+49DE+420CZ+421SK+423LI

A corner of Europe, coloured by mobile number length.

Open the map

Facts about numbering plans

What the plans have in common and where they differ: zones, shared codes, exit codes, trunk prefixes, number lengths, portability, computed from the data.

Plans by mobile number length
4 digits
2
5 digits
7
6 digits
12
7 digits
41
8 digits
71
9 digits
99
10 digits
65
11 digits
7
12 digits
2
13 digits
1

plans allowing that length

Read the facts

Build a validation regex

Pick a country and the line types you accept; get the plan's anchored pattern and a validator in JavaScript, TypeScript, Python, Java, Go, PHP, Ruby, C# or Rust.

The United Kingdom's mobile numbers, as the plan defines them:

^(?:7(?:457[0-57-9]|700[01]|911[028])\d{5}|7(?:[1-3]\d\d|4(?:[0-46-9]\d|5[0-689])|5(?:0[0-8]|[13-9]\d|2[0-35-9])|7(?:0[1-9]|[1-7]\d|8[02-9]|9[0-689])|8(?:[014-9]\d|[23][0-8])|9(?:[024-9]\d|1[02-9]|3[0-689]))\d{6})$

Open the builder

How to dial, from anywhere to anywhere

Where you are, whom you call, the number: the exit code, the country code, the national number without its trunk prefix, and why.

From the United Kingdom, dial 00 33 6 12 34 56 78.

00
exit code of the United Kingdom
33
country code
6 12 34 56 78
national number

Open the dialling helper

Phone numbers in your language

One tested file per language that reads a number as typed, validates it against the plans you pick, names its line type, writes E.164 and says what to dial.

>>> parse("07400 123456", "GB")
PhoneNumber(e164='+447400123456', region='GB', type='mobile', cc='44', nsn='7400123456')

Open the guides

Country by country

One page per numbering plan: at a glance, the checker, the regex tester, the prefix tree, then the full tables — formats, lengths, patterns and carrier blocks.

More countries follow as their data clears the bar.

All countries

What a numbering plan can and cannot tell you

A numbering plan says what a number looks like, how long it is, which line type its range belongs to and which carrier the block was first allocated to. It cannot say whether a particular number is in service, or, in a country with number portability, which carrier serves it today: that is a question for the networks themselves, answered by an HLR or MNP query, not by any table.