← Back to All Telecom Guides • Reading time: 6 minutes
What Is the E.164 Standard?
When a software application sends an SMS message or places a voice call across international borders, telecommunication carriers rely on a universal addressing system to route the packet to the correct destination handset. That standard is ITU-T Recommendation E.164, titled The international public telecommunication numbering plan, maintained by the International Telecommunication Union (ITU).
Without a unified numbering architecture, domestic telephone numbers would collide globally. For example, a 10-digit subscriber number in the United Kingdom could easily match a 10-digit subscriber number in India or the United States. E.164 solves this by defining a strict, globally unique hierarchical structure limited to a maximum of 15 digits, typically written with a leading plus sign (+).
Anatomy of an E.164 Phone Number
Every E.164-compliant telephone number consists of three distinct components concatenated together without spaces, dashes, or parentheses:
| Component | Length | Description & Example |
|---|---|---|
| Country Calling Code (CC) | 1 to 3 digits | Identifies the destination country or integrated numbering zone (e.g., 1 for NANP/USA/Canada, 44 for the UK, 380 for Ukraine). |
| National Destination Code (NDC) | Variable | Identifies a geographic area code or mobile network range (e.g., 7418 in the UK or 646 in New York). |
| Subscriber Number (SN) | Variable | The unique local line identifier assigned to the individual mobile SIM or virtual endpoint. |
Combined, the National Destination Code (NDC) and Subscriber Number (SN) form the National Significant Number (NSN). Under ITU-T E.164 rules, the Country Code plus the National Significant Number may never exceed 15 digits in total.
Why National Trunk Prefixes Are Dropped in E.164
One of the most frequent bugs in international web forms occurs when users or developers confuse a country's domestic trunk prefix with its international format. In many countries—including the United Kingdom, Germany, France, Ukraine, and Croatia—domestic callers dial a leading 0 before the mobile or area code when calling within the same country.
- United Kingdom (+44): A domestic UK mobile number is written as
07418 342671. When converting to E.164, the domestic trunk prefix0must be removed before prepending+44, resulting in+447418342671. Leaving the zero in place (+4407418...) causes international SMS gateways to fail routing. - Germany (+49): A German mobile number dialled locally as
01521 0947617becomes+4915210947617in E.164 format. - North American Numbering Plan (+1): The United States and Canada use
1as both their domestic trunk prefix and their international country code, followed by a 3-digit Numbering Plan Area (NPA) code and a 7-digit subscriber number (e.g.,+16462099461). - Denmark (+45) & Spain (+34): These countries operate closed numbering plans without a domestic trunk prefix. An 8-digit Danish number (
71 54 90 98) simply prepends+45to become+4571549098.
How Software Developers Should Validate Phone Inputs
When building sign-up or verification forms that accept international phone numbers, relying on simple length checks (such as requiring exactly 10 digits) breaks compatibility for users in countries like Denmark (8 digits), China (11 digits), or Germany (10 to 11 digits).
- Store Numbers Strictly in E.164 Format: Always normalize user input before saving it to your database or passing it to an SMS gateway API. Strip all whitespace, hyphens, and parentheses, remove any leading international call prefixes (like
00or011), strip the national trunk zero if present, and store the canonical string (e.g.,+447418342671). - Use Standards-Compliant Parsing Libraries: Libraries such as Google’s open-source
libphonenumbermaintain up-to-date metadata for every country’s mobile range, length rules, and trunk prefix conventions. - Provide Clear UI Country Selectors: Separating the country dial code dropdown from the national number input field—while automatically stripping a leading
0if the user types one—eliminates over 90% of formatting failures during SMS delivery.