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.

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 numberCountryCountry codeNDCSubscriber number
+14159929960United States1415992 9960
+442071838750United Kingdom44207183 8750
+551155256325Brazil55115525 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.

  1. Strip the formatting. Remove spaces, dashes and brackets, so that only digits remain.
  2. 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_prefix column in the CSV below lists it by country.
  3. 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_prefix column records.
  4. 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 asAfter steps 1 to 3E.164
UK, 020 7183 87502071838750+442071838750
US, (415) 992-99604159929960+14159929960
Italy, fixed line in Rome, 06xxxxxxxx06xxxxxxxx (the 0 stays)+3906xxxxxxxx
UK dialed from abroad, 00 44 20 7183 8750442071838750+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.

FormatExampleContains country codeSeparators
E.164+14159929960YesNone
International+1 415 992 9960YesSpaces
National(415) 992-9960NoDepends 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.

CountryISOCalling codeFixed-line national digitsMobile national digitsTrunk prefixE.164 total digits
United StatesUS+11010111
CanadaCA+11010111
United KingdomGB+449, 1010011-12
GermanyDE+495 to 1510, 1107-17
FranceFR+3399011
ItalyIT+396 to 129, 10None listed8-14
SpainES+3499None listed11
IndiaIN+911010012
ChinaCN+867 to 111109-13
JapanJP+81910011-12
BrazilBR+551010, 11012-13
AustraliaAU+6199011
Show all 245 countries and territories
CountryISOCalling codeFixed-line national digitsMobile national digitsTrunk prefixE.164 total digits
AfghanistanAF+9399011
AlbaniaAL+35589011-12
AlgeriaDZ+2138, 99011-12
American SamoaAS+11010111
AndorraAD+37666, 9None listed9-12
AngolaAO+24499None listed12
AnguillaAI+11010111
Antigua & BarbudaAG+11010111
ArgentinaAR+541010, 11012-13
ArmeniaAM+37488011
ArubaAW+29777None listed10
Ascension IslandAC+24755None listed8
AustraliaAU+6199011
AustriaAT+434, 5, 6, 7, 8, 9, 10, 11, 12, 137, 8, 9, 10, 11, 12, 1306-15
AzerbaijanAZ+99499012
BahamasBS+11010111
BahrainBH+97388None listed11
BangladeshBD+8806, 7, 8, 9, 101009-13
BarbadosBB+11010111
BelarusBY+37599812
BelgiumBE+3289010-11
BelizeBZ+50177None listed10
BeninBJ+2291010None listed13
BermudaBM+11010111
BhutanBT+97578None listed10-11
BoliviaBO+59188011
Bosnia & HerzegovinaBA+38788, 9011-12
BotswanaBW+26778None listed10-11
BrazilBR+551010, 11012-13
British Indian Ocean TerritoryIO+24677None listed10
British Virgin IslandsVG+11010111
BruneiBN+67377None listed10
BulgariaBG+3596, 7, 88, 909-12
Burkina FasoBF+22688None listed11
BurundiBI+25788None listed11
CambodiaKH+8558, 98, 9011-12
CameroonCM+23799None listed12
CanadaCA+11010111
Cape VerdeCV+23877None listed10
Caribbean NetherlandsBQ+59977None listed10
Cayman IslandsKY+11010111
Central African RepublicCF+23688None listed11
ChadTD+23588None listed11
ChileCL+5699None listed11
ChinaCN+867, 8, 9, 10, 111109-13
Christmas IslandCX+6199011
Cocos (Keeling) IslandsCC+6199011
ColombiaCO+578, 1010010-12
ComorosKM+26977None listed10
Congo - BrazzavilleCG+24299None listed12
Congo - KinshasaCD+2437, 8, 9, 107, 9010-13
Cook IslandsCK+68255None listed8
Costa RicaCR+50688None listed11
CroatiaHR+3858, 98, 9011-12
CubaCU+536, 7, 8, 10808-12
CuraçaoCW+5997, 87, 8None listed10-11
CyprusCY+35788None listed11
CzechiaCZ+42099None listed12
Côte d’IvoireCI+2251010None listed13
DenmarkDK+4588None listed10
DjiboutiDJ+25388None listed11
DominicaDM+11010111
Dominican RepublicDO+11010111
EcuadorEC+59389011-12
EgyptEG+208, 910010-12
El SalvadorSV+50388None listed11
Equatorial GuineaGQ+24099None listed12
EritreaER+29177010
EstoniaEE+37277, 8None listed10-11
EswatiniSZ+26888None listed11
EthiopiaET+25199012
Falkland Islands (Islas Malvinas)FK+50055None listed8
Faroe IslandsFO+29866None listed9
FijiFJ+67977None listed10
FinlandFI+3585, 6, 7, 8, 96, 7, 8, 9, 1008-13
FranceFR+3399011
French GuianaGF+59499012
French PolynesiaPF+68988None listed11
GabonGA+24187, 8None listed10-11
GambiaGM+2207, 97, 9None listed10-12
GeorgiaGE+99599012
GermanyDE+495, 6, 7, 8, 9, 10, 11, 12, 13, 14, 1510, 1107-17
GhanaGH+23399012
GibraltarGI+35088None listed11
GreeceGR+301010None listed12
GreenlandGL+29966None listed9
GrenadaGD+11010111
GuadeloupeGP+59099012
GuamGU+11010111
GuatemalaGT+50288None listed11
GuernseyGG+441010012
GuineaGN+22489None listed11-12
Guinea-BissauGW+24599None listed12
GuyanaGY+59277None listed10
HaitiHT+50988None listed11
HondurasHN+50488None listed11
Hong KongHK+85288None listed11
HungaryHU+36890610-11
IcelandIS+35477, 9None listed10-12
IndiaIN+911010012
IndonesiaID+627, 8, 9, 10, 119, 10, 11, 1209-14
IranIR+986, 7, 101008-12
IraqIQ+9648, 910011-13
IrelandIE+3537, 8, 9, 109010-13
Isle of ManIM+441010012
IsraelIL+9728, 11, 129011-15
ItalyIT+396, 7, 8, 9, 10, 11, 129, 10None listed8-14
JamaicaJM+11010111
JapanJP+81910011-12
JerseyJE+441010012
JordanJO+96289011-12
KazakhstanKZ+71010811
KenyaKE+2547, 8, 99010-12
KiribatiKI+6865, 8808-11
KosovoXK+3838, 9, 10, 11, 128011-15
KuwaitKW+96588None listed11
KyrgyzstanKG+99699012
LaosLA+85689, 10011-13
LatviaLV+37188None listed11
LebanonLB+9617, 87, 8010-11
LesothoLS+26688None listed11
LiberiaLR+23187, 9010-12
LibyaLY+21899012
LiechtensteinLI+42377, 9010-12
LithuaniaLT+37088011
LuxembourgLU+3524, 5, 6, 7, 8, 9, 10, 119None listed7-14
MacaoMO+85388None listed11
MadagascarMG+26199012
MalawiMW+26579010-12
MalaysiaMY+608, 99, 10010-12
MaldivesMV+96077None listed10
MaliML+22388None listed11
MaltaMT+35688None listed11
Marshall IslandsMH+69277110
MartiniqueMQ+59699012
MauritaniaMR+22288None listed11
MauritiusMU+2307, 88None listed10-11
MayotteYT+26299012
MexicoMX+521010None listed12
MicronesiaFM+69177None listed10
MoldovaMD+37388011
MonacoMC+37788, 9011-12
MongoliaMN+9768, 9, 108011-13
MontenegroME+38288011
MontserratMS+11010111
MoroccoMA+21299012
MozambiqueMZ+25889None listed11-12
Myanmar (Burma)MM+956, 7, 8, 97, 8, 9, 1008-12
NamibiaNA+2648, 99011-12
NauruNR+67477None listed10
NepalNP+977810011-13
NetherlandsNL+3199, 11011-13
New CaledoniaNC+68766None listed9
New ZealandNZ+6488, 9, 10010-12
NicaraguaNI+50588None listed11
NigerNE+22788None listed11
NigeriaNG+2341010013
NiueNU+68344, 7None listed7-10
Norfolk IslandNF+67266None listed9
North KoreaKP+8508, 1010011-13
North MacedoniaMK+38988011
Northern Mariana IslandsMP+11010111
NorwayNO+4788None listed10
OmanOM+96888None listed11
PakistanPK+929, 1010011-12
PalauPW+68077None listed10
PalestinePS+97089011-12
PanamaPA+50777, 8None listed10-11
Papua New GuineaPG+67578None listed10-11
ParaguayPY+5957, 8, 99010-12
PeruPE+5189010-11
PhilippinesPH+636, 8, 9, 101008-12
PolandPL+487, 99None listed9-11
PortugalPT+35199None listed12
Puerto RicoPR+11010111
QatarQA+97488None listed11
RomaniaRO+406, 9908-11
RussiaRU+71010811
RwandaRW+2508, 99011-12
RéunionRE+26299012
SamoaWS+6855, 67, 10None listed8-13
San MarinoSM+378108None listed11-13
Saudi ArabiaSA+96699012
SenegalSN+22199None listed12
SerbiaRS+3817, 8, 9, 10, 11, 128, 9, 10010-15
SeychellesSC+24877None listed10
Sierra LeoneSL+23288011
SingaporeSG+6588None listed10
Sint MaartenSX+11010111
SlovakiaSK+4216, 7, 9909-12
SloveniaSI+38688011
Solomon IslandsSB+67755, 7None listed8-10
SomaliaSO+2526, 77, 8, 909-12
South AfricaZA+2795, 6, 7, 8, 907-11
South KoreaKR+825, 6, 8, 9, 109, 1007-12
South SudanSS+21199012
SpainES+3499None listed11
Sri LankaLK+9499011
St. BarthélemyBL+59099012
St. HelenaSH+2904, 55None listed7-8
St. Kitts & NevisKN+11010111
St. LuciaLC+11010111
St. MartinMF+59099012
St. Pierre & MiquelonPM+5086, 96, 909-12
St. Vincent & GrenadinesVC+11010111
SudanSD+24999012
SurinameSR+59767None listed9-10
Svalbard & Jan MayenSJ+4788None listed10
SwedenSE+467, 8, 9909-11
SwitzerlandCH+4199011
SyriaSY+9638, 99011-12
São Tomé & PríncipeST+23977None listed10
TaiwanTW+8868, 99011-12
TajikistanTJ+99299None listed12
TanzaniaTZ+25599012
ThailandTH+6689010-11
Timor-LesteTL+67078None listed10-11
TogoTG+22888None listed11
TokelauTK+6904, 5, 6, 74, 5, 6, 7None listed7-10
TongaTO+67657None listed8-10
Trinidad & TobagoTT+11010111
Tristan da CunhaTA+2904None listedNone listed7
TunisiaTN+21688None listed11
TurkmenistanTM+99388811
Turks & Caicos IslandsTC+11010111
TuvaluTV+68856, 7None listed8-10
TürkiyeTR+901010012
U.S. Virgin IslandsVI+11010111
UgandaUG+25699012
UkraineUA+38099012
United Arab EmiratesAE+97189011-12
United KingdomGB+449, 1010011-12
United StatesUS+11010111
UruguayUY+59888011
UzbekistanUZ+99899None listed12
VanuatuVU+67857None listed8-10
Vatican CityVA+396, 7, 8, 9, 10, 119, 10None listed8-13
VenezuelaVE+581010012
VietnamVN+84109011-12
Wallis & FutunaWF+68166None listed9
Western SaharaEH+21299012
YemenYE+9677, 89010-12
ZambiaZM+26099012
ZimbabweZW+26399012
Åland IslandsAX+3586, 7, 8, 96, 7, 8, 9, 1009-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 wrong

The 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.

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.reasonCause
ambiguousCountryNo plus sign and no country field, so the country is unknown
invalidCountryCodeThe number starts with a plus sign, but the country code is unknown
tooShort, tooLong, invalidLengthThe 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.

Trueguard Basic is free.

Start identifying visitors and signals right away, for free

Sign up for free

No credit card required.

trueguard-logo© 2026 Trueguardinfo@trueguard.io