E.164 Phone Number Format Explained
Last updated 8 November 2026. Trueguard publishes this page.
E.164 is the ITU-T standard format for international phone numbers. A number is written as a plus sign, a country code and the national number, up to 15 digits in total, with no spaces or punctuation, as in +14159929960. The Trueguard phone validation API returns every number it can read in E.164, plus international and national format.
The 15-digit limit is a global ceiling. Each country sets a narrower range of its own, so a number can satisfy E.164 and still have the wrong length for its country. This page covers the structure of an E.164 number, how to convert a national number by hand, the fixed-line and mobile lengths for each country, and what a format check can and cannot tell you.
What is E.164 format?
An E.164 number is a string of digits with a maximum length of 15. For a geographic number, that string has three parts.
- Country code. One to three digits. No E.164 country code starts with 0.
- National destination code (NDC). Also known as an area code.
- Subscriber number. The rest of the number.
The country code counts toward the 15 digits. The NDC and the subscriber number together can have 15 digits minus the length of the country code. A one-digit country code leaves 14 digits for the national number, and a three-digit code leaves 12.
| E.164 number | Country | Country code | NDC | Subscriber number |
|---|---|---|---|---|
+14159929960 | United States | 1 | 415 | 992 9960 |
+442071838750 | United Kingdom | 44 | 20 | 7183 8750 |
+551155256325 | Brazil | 55 | 11 | 5525 6325 |
The plus sign is notation. It marks the place where a caller dials an international call prefix, and it sits outside the 15-digit count. The international call prefix itself is not part of the number.
How do you convert a phone number to E.164?
Four steps convert a number written for local use. The country must be known before you start, because the digits alone do not always identify it.
- Strip the formatting. Remove spaces, dashes and brackets, so that only digits remain.
- Remove the trunk prefix. The trunk prefix is the digit dialed before a national number on calls inside the country. In most countries it is 0. International notation leaves it out. The
trunk_prefixcolumn in the CSV below lists it by country. - Remove the exit code, if there is one. A number written for dialing abroad may begin with an international call prefix. 00 is the ITU-recommended prefix and is used across most regions. 011 is used in every country and territory of the North American Numbering Plan. Some countries use others, which the
international_prefixcolumn records. - Add the plus sign and the country code. If the number had an exit code, the country code is already in place, so only the plus sign is added.
The table works through four cases.
| Written as | After steps 1 to 3 | E.164 |
|---|---|---|
UK, 020 7183 8750 | 2071838750 | +442071838750 |
US, (415) 992-9960 | 4159929960 | +14159929960 |
Italy, fixed line in Rome, 06xxxxxxxx | 06xxxxxxxx (the 0 stays) | +3906xxxxxxxx |
UK dialed from abroad, 00 44 20 7183 8750 | 442071838750 | +442071838750 |
Italy is the exception to step 2. Italian fixed-line numbers keep their leading 0 in E.164, because the 0 is part of the number and is dialed both inside Italy and from abroad. San Marino and Vatican City follow the same rule. Italian mobile numbers start with 3 and are written +393xxxxxxxxx.
What is the difference between E.164, international and national format?
The three formats describe the same number for different readers. E.164 is the machine form. International format adds spaces for people. National format is how the number is dialed inside its own country.
| Format | Example | Contains country code | Separators |
|---|---|---|---|
| E.164 | +14159929960 | Yes | None |
| International | +1 415 992 9960 | Yes | Spaces |
| National | (415) 992-9960 | No | Depends on the country |
ITU-T Recommendation E.123 gives guidance on how numbers are printed. In international notation, it recommends that only spaces separate groups of digits, with spaces between the country code, the area code and the local number. The international example above follows that rule. The national example is Trueguard's own output for this number, written as people dial it in the United States.
National format needs a country alongside it to mean anything to a system. E.164 carries the country in the string, and each number has one spelling. For those two reasons E.164 is the form to use as the stored value, with the other two generated from it for display.
How long is a phone number in each country?
Lengths vary by country and by line type. A US number has 10 national digits. A German fixed-line number can have between 5 and 15. The table below shows 12 common countries. Download the CSV for all 245 countries and territories.
| Country | ISO | Calling code | Fixed-line national digits | Mobile national digits | Trunk prefix | E.164 total digits |
|---|---|---|---|---|---|---|
| United States | US | +1 | 10 | 10 | 1 | 11 |
| Canada | CA | +1 | 10 | 10 | 1 | 11 |
| United Kingdom | GB | +44 | 9, 10 | 10 | 0 | 11-12 |
| Germany | DE | +49 | 5 to 15 | 10, 11 | 0 | 7-17 |
| France | FR | +33 | 9 | 9 | 0 | 11 |
| Italy | IT | +39 | 6 to 12 | 9, 10 | None listed | 8-14 |
| Spain | ES | +34 | 9 | 9 | None listed | 11 |
| India | IN | +91 | 10 | 10 | 0 | 12 |
| China | CN | +86 | 7 to 11 | 11 | 0 | 9-13 |
| Japan | JP | +81 | 9 | 10 | 0 | 11-12 |
| Brazil | BR | +55 | 10 | 10, 11 | 0 | 12-13 |
| Australia | AU | +61 | 9 | 9 | 0 | 11 |
Show all 245 countries and territories
| Country | ISO | Calling code | Fixed-line national digits | Mobile national digits | Trunk prefix | E.164 total digits |
|---|---|---|---|---|---|---|
| Afghanistan | AF | +93 | 9 | 9 | 0 | 11 |
| Albania | AL | +355 | 8 | 9 | 0 | 11-12 |
| Algeria | DZ | +213 | 8, 9 | 9 | 0 | 11-12 |
| American Samoa | AS | +1 | 10 | 10 | 1 | 11 |
| Andorra | AD | +376 | 6 | 6, 9 | None listed | 9-12 |
| Angola | AO | +244 | 9 | 9 | None listed | 12 |
| Anguilla | AI | +1 | 10 | 10 | 1 | 11 |
| Antigua & Barbuda | AG | +1 | 10 | 10 | 1 | 11 |
| Argentina | AR | +54 | 10 | 10, 11 | 0 | 12-13 |
| Armenia | AM | +374 | 8 | 8 | 0 | 11 |
| Aruba | AW | +297 | 7 | 7 | None listed | 10 |
| Ascension Island | AC | +247 | 5 | 5 | None listed | 8 |
| Australia | AU | +61 | 9 | 9 | 0 | 11 |
| Austria | AT | +43 | 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 | 7, 8, 9, 10, 11, 12, 13 | 0 | 6-15 |
| Azerbaijan | AZ | +994 | 9 | 9 | 0 | 12 |
| Bahamas | BS | +1 | 10 | 10 | 1 | 11 |
| Bahrain | BH | +973 | 8 | 8 | None listed | 11 |
| Bangladesh | BD | +880 | 6, 7, 8, 9, 10 | 10 | 0 | 9-13 |
| Barbados | BB | +1 | 10 | 10 | 1 | 11 |
| Belarus | BY | +375 | 9 | 9 | 8 | 12 |
| Belgium | BE | +32 | 8 | 9 | 0 | 10-11 |
| Belize | BZ | +501 | 7 | 7 | None listed | 10 |
| Benin | BJ | +229 | 10 | 10 | None listed | 13 |
| Bermuda | BM | +1 | 10 | 10 | 1 | 11 |
| Bhutan | BT | +975 | 7 | 8 | None listed | 10-11 |
| Bolivia | BO | +591 | 8 | 8 | 0 | 11 |
| Bosnia & Herzegovina | BA | +387 | 8 | 8, 9 | 0 | 11-12 |
| Botswana | BW | +267 | 7 | 8 | None listed | 10-11 |
| Brazil | BR | +55 | 10 | 10, 11 | 0 | 12-13 |
| British Indian Ocean Territory | IO | +246 | 7 | 7 | None listed | 10 |
| British Virgin Islands | VG | +1 | 10 | 10 | 1 | 11 |
| Brunei | BN | +673 | 7 | 7 | None listed | 10 |
| Bulgaria | BG | +359 | 6, 7, 8 | 8, 9 | 0 | 9-12 |
| Burkina Faso | BF | +226 | 8 | 8 | None listed | 11 |
| Burundi | BI | +257 | 8 | 8 | None listed | 11 |
| Cambodia | KH | +855 | 8, 9 | 8, 9 | 0 | 11-12 |
| Cameroon | CM | +237 | 9 | 9 | None listed | 12 |
| Canada | CA | +1 | 10 | 10 | 1 | 11 |
| Cape Verde | CV | +238 | 7 | 7 | None listed | 10 |
| Caribbean Netherlands | BQ | +599 | 7 | 7 | None listed | 10 |
| Cayman Islands | KY | +1 | 10 | 10 | 1 | 11 |
| Central African Republic | CF | +236 | 8 | 8 | None listed | 11 |
| Chad | TD | +235 | 8 | 8 | None listed | 11 |
| Chile | CL | +56 | 9 | 9 | None listed | 11 |
| China | CN | +86 | 7, 8, 9, 10, 11 | 11 | 0 | 9-13 |
| Christmas Island | CX | +61 | 9 | 9 | 0 | 11 |
| Cocos (Keeling) Islands | CC | +61 | 9 | 9 | 0 | 11 |
| Colombia | CO | +57 | 8, 10 | 10 | 0 | 10-12 |
| Comoros | KM | +269 | 7 | 7 | None listed | 10 |
| Congo - Brazzaville | CG | +242 | 9 | 9 | None listed | 12 |
| Congo - Kinshasa | CD | +243 | 7, 8, 9, 10 | 7, 9 | 0 | 10-13 |
| Cook Islands | CK | +682 | 5 | 5 | None listed | 8 |
| Costa Rica | CR | +506 | 8 | 8 | None listed | 11 |
| Croatia | HR | +385 | 8, 9 | 8, 9 | 0 | 11-12 |
| Cuba | CU | +53 | 6, 7, 8, 10 | 8 | 0 | 8-12 |
| Curaçao | CW | +599 | 7, 8 | 7, 8 | None listed | 10-11 |
| Cyprus | CY | +357 | 8 | 8 | None listed | 11 |
| Czechia | CZ | +420 | 9 | 9 | None listed | 12 |
| Côte d’Ivoire | CI | +225 | 10 | 10 | None listed | 13 |
| Denmark | DK | +45 | 8 | 8 | None listed | 10 |
| Djibouti | DJ | +253 | 8 | 8 | None listed | 11 |
| Dominica | DM | +1 | 10 | 10 | 1 | 11 |
| Dominican Republic | DO | +1 | 10 | 10 | 1 | 11 |
| Ecuador | EC | +593 | 8 | 9 | 0 | 11-12 |
| Egypt | EG | +20 | 8, 9 | 10 | 0 | 10-12 |
| El Salvador | SV | +503 | 8 | 8 | None listed | 11 |
| Equatorial Guinea | GQ | +240 | 9 | 9 | None listed | 12 |
| Eritrea | ER | +291 | 7 | 7 | 0 | 10 |
| Estonia | EE | +372 | 7 | 7, 8 | None listed | 10-11 |
| Eswatini | SZ | +268 | 8 | 8 | None listed | 11 |
| Ethiopia | ET | +251 | 9 | 9 | 0 | 12 |
| Falkland Islands (Islas Malvinas) | FK | +500 | 5 | 5 | None listed | 8 |
| Faroe Islands | FO | +298 | 6 | 6 | None listed | 9 |
| Fiji | FJ | +679 | 7 | 7 | None listed | 10 |
| Finland | FI | +358 | 5, 6, 7, 8, 9 | 6, 7, 8, 9, 10 | 0 | 8-13 |
| France | FR | +33 | 9 | 9 | 0 | 11 |
| French Guiana | GF | +594 | 9 | 9 | 0 | 12 |
| French Polynesia | PF | +689 | 8 | 8 | None listed | 11 |
| Gabon | GA | +241 | 8 | 7, 8 | None listed | 10-11 |
| Gambia | GM | +220 | 7, 9 | 7, 9 | None listed | 10-12 |
| Georgia | GE | +995 | 9 | 9 | 0 | 12 |
| Germany | DE | +49 | 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 | 10, 11 | 0 | 7-17 |
| Ghana | GH | +233 | 9 | 9 | 0 | 12 |
| Gibraltar | GI | +350 | 8 | 8 | None listed | 11 |
| Greece | GR | +30 | 10 | 10 | None listed | 12 |
| Greenland | GL | +299 | 6 | 6 | None listed | 9 |
| Grenada | GD | +1 | 10 | 10 | 1 | 11 |
| Guadeloupe | GP | +590 | 9 | 9 | 0 | 12 |
| Guam | GU | +1 | 10 | 10 | 1 | 11 |
| Guatemala | GT | +502 | 8 | 8 | None listed | 11 |
| Guernsey | GG | +44 | 10 | 10 | 0 | 12 |
| Guinea | GN | +224 | 8 | 9 | None listed | 11-12 |
| Guinea-Bissau | GW | +245 | 9 | 9 | None listed | 12 |
| Guyana | GY | +592 | 7 | 7 | None listed | 10 |
| Haiti | HT | +509 | 8 | 8 | None listed | 11 |
| Honduras | HN | +504 | 8 | 8 | None listed | 11 |
| Hong Kong | HK | +852 | 8 | 8 | None listed | 11 |
| Hungary | HU | +36 | 8 | 9 | 06 | 10-11 |
| Iceland | IS | +354 | 7 | 7, 9 | None listed | 10-12 |
| India | IN | +91 | 10 | 10 | 0 | 12 |
| Indonesia | ID | +62 | 7, 8, 9, 10, 11 | 9, 10, 11, 12 | 0 | 9-14 |
| Iran | IR | +98 | 6, 7, 10 | 10 | 0 | 8-12 |
| Iraq | IQ | +964 | 8, 9 | 10 | 0 | 11-13 |
| Ireland | IE | +353 | 7, 8, 9, 10 | 9 | 0 | 10-13 |
| Isle of Man | IM | +44 | 10 | 10 | 0 | 12 |
| Israel | IL | +972 | 8, 11, 12 | 9 | 0 | 11-15 |
| Italy | IT | +39 | 6, 7, 8, 9, 10, 11, 12 | 9, 10 | None listed | 8-14 |
| Jamaica | JM | +1 | 10 | 10 | 1 | 11 |
| Japan | JP | +81 | 9 | 10 | 0 | 11-12 |
| Jersey | JE | +44 | 10 | 10 | 0 | 12 |
| Jordan | JO | +962 | 8 | 9 | 0 | 11-12 |
| Kazakhstan | KZ | +7 | 10 | 10 | 8 | 11 |
| Kenya | KE | +254 | 7, 8, 9 | 9 | 0 | 10-12 |
| Kiribati | KI | +686 | 5, 8 | 8 | 0 | 8-11 |
| Kosovo | XK | +383 | 8, 9, 10, 11, 12 | 8 | 0 | 11-15 |
| Kuwait | KW | +965 | 8 | 8 | None listed | 11 |
| Kyrgyzstan | KG | +996 | 9 | 9 | 0 | 12 |
| Laos | LA | +856 | 8 | 9, 10 | 0 | 11-13 |
| Latvia | LV | +371 | 8 | 8 | None listed | 11 |
| Lebanon | LB | +961 | 7, 8 | 7, 8 | 0 | 10-11 |
| Lesotho | LS | +266 | 8 | 8 | None listed | 11 |
| Liberia | LR | +231 | 8 | 7, 9 | 0 | 10-12 |
| Libya | LY | +218 | 9 | 9 | 0 | 12 |
| Liechtenstein | LI | +423 | 7 | 7, 9 | 0 | 10-12 |
| Lithuania | LT | +370 | 8 | 8 | 0 | 11 |
| Luxembourg | LU | +352 | 4, 5, 6, 7, 8, 9, 10, 11 | 9 | None listed | 7-14 |
| Macao | MO | +853 | 8 | 8 | None listed | 11 |
| Madagascar | MG | +261 | 9 | 9 | 0 | 12 |
| Malawi | MW | +265 | 7 | 9 | 0 | 10-12 |
| Malaysia | MY | +60 | 8, 9 | 9, 10 | 0 | 10-12 |
| Maldives | MV | +960 | 7 | 7 | None listed | 10 |
| Mali | ML | +223 | 8 | 8 | None listed | 11 |
| Malta | MT | +356 | 8 | 8 | None listed | 11 |
| Marshall Islands | MH | +692 | 7 | 7 | 1 | 10 |
| Martinique | MQ | +596 | 9 | 9 | 0 | 12 |
| Mauritania | MR | +222 | 8 | 8 | None listed | 11 |
| Mauritius | MU | +230 | 7, 8 | 8 | None listed | 10-11 |
| Mayotte | YT | +262 | 9 | 9 | 0 | 12 |
| Mexico | MX | +52 | 10 | 10 | None listed | 12 |
| Micronesia | FM | +691 | 7 | 7 | None listed | 10 |
| Moldova | MD | +373 | 8 | 8 | 0 | 11 |
| Monaco | MC | +377 | 8 | 8, 9 | 0 | 11-12 |
| Mongolia | MN | +976 | 8, 9, 10 | 8 | 0 | 11-13 |
| Montenegro | ME | +382 | 8 | 8 | 0 | 11 |
| Montserrat | MS | +1 | 10 | 10 | 1 | 11 |
| Morocco | MA | +212 | 9 | 9 | 0 | 12 |
| Mozambique | MZ | +258 | 8 | 9 | None listed | 11-12 |
| Myanmar (Burma) | MM | +95 | 6, 7, 8, 9 | 7, 8, 9, 10 | 0 | 8-12 |
| Namibia | NA | +264 | 8, 9 | 9 | 0 | 11-12 |
| Nauru | NR | +674 | 7 | 7 | None listed | 10 |
| Nepal | NP | +977 | 8 | 10 | 0 | 11-13 |
| Netherlands | NL | +31 | 9 | 9, 11 | 0 | 11-13 |
| New Caledonia | NC | +687 | 6 | 6 | None listed | 9 |
| New Zealand | NZ | +64 | 8 | 8, 9, 10 | 0 | 10-12 |
| Nicaragua | NI | +505 | 8 | 8 | None listed | 11 |
| Niger | NE | +227 | 8 | 8 | None listed | 11 |
| Nigeria | NG | +234 | 10 | 10 | 0 | 13 |
| Niue | NU | +683 | 4 | 4, 7 | None listed | 7-10 |
| Norfolk Island | NF | +672 | 6 | 6 | None listed | 9 |
| North Korea | KP | +850 | 8, 10 | 10 | 0 | 11-13 |
| North Macedonia | MK | +389 | 8 | 8 | 0 | 11 |
| Northern Mariana Islands | MP | +1 | 10 | 10 | 1 | 11 |
| Norway | NO | +47 | 8 | 8 | None listed | 10 |
| Oman | OM | +968 | 8 | 8 | None listed | 11 |
| Pakistan | PK | +92 | 9, 10 | 10 | 0 | 11-12 |
| Palau | PW | +680 | 7 | 7 | None listed | 10 |
| Palestine | PS | +970 | 8 | 9 | 0 | 11-12 |
| Panama | PA | +507 | 7 | 7, 8 | None listed | 10-11 |
| Papua New Guinea | PG | +675 | 7 | 8 | None listed | 10-11 |
| Paraguay | PY | +595 | 7, 8, 9 | 9 | 0 | 10-12 |
| Peru | PE | +51 | 8 | 9 | 0 | 10-11 |
| Philippines | PH | +63 | 6, 8, 9, 10 | 10 | 0 | 8-12 |
| Poland | PL | +48 | 7, 9 | 9 | None listed | 9-11 |
| Portugal | PT | +351 | 9 | 9 | None listed | 12 |
| Puerto Rico | PR | +1 | 10 | 10 | 1 | 11 |
| Qatar | QA | +974 | 8 | 8 | None listed | 11 |
| Romania | RO | +40 | 6, 9 | 9 | 0 | 8-11 |
| Russia | RU | +7 | 10 | 10 | 8 | 11 |
| Rwanda | RW | +250 | 8, 9 | 9 | 0 | 11-12 |
| Réunion | RE | +262 | 9 | 9 | 0 | 12 |
| Samoa | WS | +685 | 5, 6 | 7, 10 | None listed | 8-13 |
| San Marino | SM | +378 | 10 | 8 | None listed | 11-13 |
| Saudi Arabia | SA | +966 | 9 | 9 | 0 | 12 |
| Senegal | SN | +221 | 9 | 9 | None listed | 12 |
| Serbia | RS | +381 | 7, 8, 9, 10, 11, 12 | 8, 9, 10 | 0 | 10-15 |
| Seychelles | SC | +248 | 7 | 7 | None listed | 10 |
| Sierra Leone | SL | +232 | 8 | 8 | 0 | 11 |
| Singapore | SG | +65 | 8 | 8 | None listed | 10 |
| Sint Maarten | SX | +1 | 10 | 10 | 1 | 11 |
| Slovakia | SK | +421 | 6, 7, 9 | 9 | 0 | 9-12 |
| Slovenia | SI | +386 | 8 | 8 | 0 | 11 |
| Solomon Islands | SB | +677 | 5 | 5, 7 | None listed | 8-10 |
| Somalia | SO | +252 | 6, 7 | 7, 8, 9 | 0 | 9-12 |
| South Africa | ZA | +27 | 9 | 5, 6, 7, 8, 9 | 0 | 7-11 |
| South Korea | KR | +82 | 5, 6, 8, 9, 10 | 9, 10 | 0 | 7-12 |
| South Sudan | SS | +211 | 9 | 9 | 0 | 12 |
| Spain | ES | +34 | 9 | 9 | None listed | 11 |
| Sri Lanka | LK | +94 | 9 | 9 | 0 | 11 |
| St. Barthélemy | BL | +590 | 9 | 9 | 0 | 12 |
| St. Helena | SH | +290 | 4, 5 | 5 | None listed | 7-8 |
| St. Kitts & Nevis | KN | +1 | 10 | 10 | 1 | 11 |
| St. Lucia | LC | +1 | 10 | 10 | 1 | 11 |
| St. Martin | MF | +590 | 9 | 9 | 0 | 12 |
| St. Pierre & Miquelon | PM | +508 | 6, 9 | 6, 9 | 0 | 9-12 |
| St. Vincent & Grenadines | VC | +1 | 10 | 10 | 1 | 11 |
| Sudan | SD | +249 | 9 | 9 | 0 | 12 |
| Suriname | SR | +597 | 6 | 7 | None listed | 9-10 |
| Svalbard & Jan Mayen | SJ | +47 | 8 | 8 | None listed | 10 |
| Sweden | SE | +46 | 7, 8, 9 | 9 | 0 | 9-11 |
| Switzerland | CH | +41 | 9 | 9 | 0 | 11 |
| Syria | SY | +963 | 8, 9 | 9 | 0 | 11-12 |
| São Tomé & Príncipe | ST | +239 | 7 | 7 | None listed | 10 |
| Taiwan | TW | +886 | 8, 9 | 9 | 0 | 11-12 |
| Tajikistan | TJ | +992 | 9 | 9 | None listed | 12 |
| Tanzania | TZ | +255 | 9 | 9 | 0 | 12 |
| Thailand | TH | +66 | 8 | 9 | 0 | 10-11 |
| Timor-Leste | TL | +670 | 7 | 8 | None listed | 10-11 |
| Togo | TG | +228 | 8 | 8 | None listed | 11 |
| Tokelau | TK | +690 | 4, 5, 6, 7 | 4, 5, 6, 7 | None listed | 7-10 |
| Tonga | TO | +676 | 5 | 7 | None listed | 8-10 |
| Trinidad & Tobago | TT | +1 | 10 | 10 | 1 | 11 |
| Tristan da Cunha | TA | +290 | 4 | None listed | None listed | 7 |
| Tunisia | TN | +216 | 8 | 8 | None listed | 11 |
| Turkmenistan | TM | +993 | 8 | 8 | 8 | 11 |
| Turks & Caicos Islands | TC | +1 | 10 | 10 | 1 | 11 |
| Tuvalu | TV | +688 | 5 | 6, 7 | None listed | 8-10 |
| Türkiye | TR | +90 | 10 | 10 | 0 | 12 |
| U.S. Virgin Islands | VI | +1 | 10 | 10 | 1 | 11 |
| Uganda | UG | +256 | 9 | 9 | 0 | 12 |
| Ukraine | UA | +380 | 9 | 9 | 0 | 12 |
| United Arab Emirates | AE | +971 | 8 | 9 | 0 | 11-12 |
| United Kingdom | GB | +44 | 9, 10 | 10 | 0 | 11-12 |
| United States | US | +1 | 10 | 10 | 1 | 11 |
| Uruguay | UY | +598 | 8 | 8 | 0 | 11 |
| Uzbekistan | UZ | +998 | 9 | 9 | None listed | 12 |
| Vanuatu | VU | +678 | 5 | 7 | None listed | 8-10 |
| Vatican City | VA | +39 | 6, 7, 8, 9, 10, 11 | 9, 10 | None listed | 8-13 |
| Venezuela | VE | +58 | 10 | 10 | 0 | 12 |
| Vietnam | VN | +84 | 10 | 9 | 0 | 11-12 |
| Wallis & Futuna | WF | +681 | 6 | 6 | None listed | 9 |
| Western Sahara | EH | +212 | 9 | 9 | 0 | 12 |
| Yemen | YE | +967 | 7, 8 | 9 | 0 | 10-12 |
| Zambia | ZM | +260 | 9 | 9 | 0 | 12 |
| Zimbabwe | ZW | +263 | 9 | 9 | 0 | 12 |
| Åland Islands | AX | +358 | 6, 7, 8, 9 | 6, 7, 8, 9, 10 | 0 | 9-13 |
Compiled from public numbering plan metadata, read 8 November 2026.
How to read e164_total_digits. The value is the digits of the calling code plus the national length, with the plus sign not counted. The United Kingdom shows 11-12 because the two digits of 44 are added to national lengths of 9 and 10. National lengths exclude the trunk prefix.
Germany. The metadata allows some German fixed-line numbers that are longer than the E.164 limit, which is why the total runs to 17. Germany is the only country in the file above 15. Treat 15 as the cap.
Scope. The table covers fixed-line and mobile numbers in countries and territories. Toll-free, premium-rate and other number types can have other lengths. Non-geographic codes such as +800 and +882 are not in the file. The international_prefix column is a pattern rather than a single value for some countries, for example 00[89] for Indonesia.
Check a number's format and length in one call. A free API key for Trueguard's phone validation API covers 100 checks a month. No credit card required.
What are the common E.164 mistakes?
Each of these mistakes traces back to a conversion step that was skipped or applied to the wrong country.
Leaving the trunk 0 in. +4402071838750 keeps the 0 from 020. The correct value is +442071838750. This error is easy to miss because the string still looks like a well-formed E.164 number.
Keeping the 00 or 011 exit code. +00442071838750 and +011442071838750 both begin with 0 after the plus sign, and no country code starts with 0. The exit code tells a phone network how to leave the country. It has no place in the number.
Removing the 0 from an Italian fixed line. A rule that strips the leading 0 from every number breaks Italy. Rome numbers are +3906xxxxxxxx, and the 0 belongs there.
Storing spaces or dashes. +1 415 992 9960 is international format. E.164 is digits only after the plus sign, and two records holding the same number with different spacing will not match on a string comparison.
Dropping the 1 from North American numbers. The 1 in +14159929960 is the country code. A US or Canadian number in E.164 has 11 digits, so a value with 10 is missing it.
Storing national format with no country. (415) 992-9960 identifies a number only if something else records that it is a US number. Without that, the digits cannot be converted later, and the trunk prefix rules that apply to them are unknown.
How do you validate an E.164 number?
The E.164 rules reduce to one regular expression.
^\+[1-9]\d{1,14}$The pattern requires a leading plus sign and a first digit from 1 to 9, followed by 1 to 14 more digits. That gives a total of 2 to 15 digits. It is derived from the rules above.
const e164 = /^\+[1-9]\d{1,14}$/;
e164.test("+14159929960"); // true
e164.test("+1 415 992 9960"); // false, contains spaces
e164.test("+4402071838750"); // true, although the trunk 0 is wrongThe third line shows the limit of this approach. The pattern checks the shape of the string and knows nothing about any country, so a match does not mean the number is valid. Four kinds of error pass the pattern.
- Per-country length.
+1415passes, although a US number must have 11 digits in total. - Unassigned country codes. The pattern accepts any first digits from 1 to 9, whether or not that code exists.
- Allocated ranges. A number of the right length can still fall in a range that was never allocated.
- A trunk 0 left in place. The
+44020...form passes.
The CSV closes part of this gap. A lookup on calling code and length rejects +1415, and it rejects +4402071838750, which has 13 digits against a UK total of 11-12. A trunk 0 can still slip through in a country whose length range is wide enough to absorb the extra digit. Checking allocated ranges takes numbering plan data for each country, kept up to date.
How Trueguard handles this
The Trueguard phone validation API takes a number with its country code, such as "+14159929960". Spaces, dashes and brackets are allowed in the input. For every number it can read, the response carries format.e164, format.international and format.national. format.e164 holds the same value as the top-level phone field. All three format fields are null when the input cannot be read as a phone number.
A number in national format, such as "(415) 992-9960", needs the optional two-letter country field, for example "US". That field is used only for reading national-format input and is ignored when the number starts with a plus sign.
When a number fails, validity.reason says why.
validity.reason | Cause |
|---|---|
ambiguousCountry | No plus sign and no country field, so the country is unknown |
invalidCountryCode | The number starts with a plus sign, but the country code is unknown |
tooShort, tooLong, invalidLength | The length does not fit |
Here are the validity and format parts of the response for +14159929960.
{
"phone": "+14159929960",
"validity": {
"isValid": true,
"isPossible": true,
"reason": null
},
"format": {
"e164": "+14159929960",
"international": "+1 415 992 9960",
"national": "(415) 992-9960"
}
}validity.isPossible and validity.isValid answer different questions. isPossible reports whether the length fits the country. isValid reports whether the number matches the numbering plan of its country. These are the two checks the regular expression cannot do. The same response also describes the line itself, which matters for decisions such as whether to block VoIP numbers at signup.
The phone validation API docs cover the request in full, and the phone validation page has the free checker. A free key covers 100 checks a month with no credit card. Standard is $49.99 a month for 20,000 checks, then $0.0025 a check.
Frequently asked questions
E.164 is the ITU-T standard for international phone numbers. A number is written as a plus sign, a country code of one to three digits and the national number, up to 15 digits in total, with no spaces or punctuation. Trueguard's phone validation API returns every number it can read in this form in format.e164, for example +14159929960.
The written form starts with it. The plus sign stands in for the international call prefix and does not count toward the 15 digits.
At most 15, including the country code. Each country has its own narrower range. US and Canadian numbers have 11 digits in total, Indian numbers have 12, and UK numbers have 11 or 12 for fixed-line and mobile.
Yes. E.164 includes the country code and has no formatting, so each number has one spelling and can be compared directly. International and national display formats can be generated from it. A number stored in national format needs a separate country value.
For the UK, remove the leading 0 and add +44, so 020 7183 8750 becomes +442071838750. For the US, add +1 to the 10-digit number, so (415) 992-9960 becomes +14159929960.
No. E.164 numbers are limited to digits, after the leading plus sign. +1 415 992 9960 is the international display format of +14159929960.
E.164 defines the number itself, with digits only, a country code of one to three digits and 15 digits at most. E.123 is titled "Notation for national and international telephone numbers, e-mail addresses and Web addresses" and gives guidance on how numbers are printed, including the use of spaces to separate groups of digits in international notation. Its latest version dates from February 2001.
Validate your first numbers today. Get a free API key for Trueguard's phone validation API with 100 checks a month. No credit card required.
