e164 phone number format explained with clear examples

Content authorBy Claire ConnorPublished onReading time7 min read
A glossy smartphone displays a step-by-step transformation of a messy phone number into a formatted E.164 number, surrounded by icons and a glowing network d…

While working with phone numbers, you will eventually hear about e164 format. This practical guide will walk you through the named parts of the format and show you the difference between a well-formed string and a live, reachable line.

What e164 actually is

e164 is the ITU-T international numbering plan for the public switched telephone network, and it exists for one reason. It gives every phone line on earth one unambiguous, globally unique representation.

Most of the "invalid number" pain in production comes from treating a phone number as a loose string instead of a structured value with rules.

The parts of an e164 number

An e164 string breaks into a leading plus and a country code. Its national destination code and subscriber number each have their own job. Two hard constraints sit on top of all of them.

The first constraint is length. A conforming number carries a maximum of 15 digits after the plus, and that ceiling covers the country code plus everything after it. The second is character set. Only digits are allowed, so punctuation has no place inside a stored e164 value.

The plus sign and country code

The leading plus tells any system that reads it that the number is in international phone format and requires parsing against the global plan.

After the plus comes the country code, which is one to three digits that selects the numbering plan. The US and Canada use 1; the UK uses 44, while Brazil uses 55. Because the code varies in length, you cannot assume a fixed offset to where the national digits begin. A wrong or misread country code sends every downstream check against the wrong rulebook, so treat the code as the first thing you resolve, not an afterthought.

National destination and subscriber number

The national destination code is the routing portion inside a country, an area code for a landline, or a prefix that marks a mobile range. The subscriber number is the block of digits that identifies the specific line. Put together, these two form the national significant number, which is the part that lives after the country code.

In most countries, you don't dial the country code when making a domestic call. Instead, you dial a trunk prefix, typically 0, which serves as a domestic dialing instruction rather than part of the national significant number. National number length is fixed in some numbering plans and variable in others, which means a length rule tuned for one market can silently reject valid numbers from another. That single assumption accounts for a large share of false "invalid" results.

Validate every number. Deliver every message.

Talk to our team about real-time phone number validation, fraud prevention, and high-deliverability SMS for your business.

The 15-digit and character limits

Two rules decide whether a string is shaped like e164 at all:

  • A maximum of 15 digits after the plus applies to the country code and everything after it.

  • Digits only, with no spaces, dashes, dots, or parentheses anywhere in the string.

Human-friendly international phone format examples like +1 (XXX) XXX-XXXX read fine on a screen, but the separators have to be stripped before the value counts as e164. A quick way to verify the basic structure is the reference regex. It requires a plus followed by a digit from 1 to 9 and permits up to 14 additional digits. Do note that it only checks the form. It will happily pass a string that fits the pattern even when it falls outside a real numbering plan.

Converting local numbers to e164

Every conversion follows the same three-step procedure, and the value is watching that one procedure produce different results across numbering plans:

  1. Strip all formatting so you are left with digits.

  2. Drop the local trunk prefix if the plan uses one.

  3. Prepend the country code with a plus.

Run the same steps on a UK number and a German one, and you get different-looking strings, which is exactly why you cannot hard-code offsets or lengths. Trace each example below, and you will see where the procedure branches.

UK, France and Germany examples

These three all use a trunk prefix zero for domestic dialing, and that zero is the single most important thing to remove. Watch the leading 0 disappear in each case as the country code takes its place:

  • UK: 0XXXXXXXXXX becomes +44XXXXXXXXXX.

  • France: 0XXXXXXXXX becomes +33XXXXXXXXX.

  • Germany: 0XXXXXXXXXX becomes +49XXXXXXXXXX.

The German area code is variable in length, so rely on the trunk-prefix rule and the country's plan rather than a fixed digit count.

US and Brazil examples

The local number receives country code 1 in front. You get +1XXXXXXXXXX with nothing dropped.

Brazil, on the other hand, produces a longer string. The local number combines the area code 11 with a mobile number, and prepends 55, resulting in +5511XXXXXXXXX. While the US runs a fixed ten national digits, Brazilian mobiles can be 10 to 11 digits, so a blanket length rule that fits one breaks the other.

Validate every number. Deliver every message.

Talk to our team about real-time phone number validation, fraud prevention, and high-deliverability SMS for your business.

Mistakes that break numbers

Bold split-panel infographic showing incorrect and correct UK phone number formats with warning and checkmark icons, and flow diagrams.

Most invalid-number failures in production trace back to a short list of errors. Each one has a clear failure mode and a clear fix, so you can spot it in your own code or data.

The biggest is keeping the trunk prefix zero. A UK number written as +440XXXXXXXXXX instead of +44XXXXXXXXXX carries a domestic dialing instruction that has no meaning in international phone format, and the extra digit pushes routing off the rails.

The next three are just as common:

  • Omitting the country code and assuming the number is UK. A bare 8-digit number gets read as a British line, and any non-UK number stored this way is wrong. The fix is to resolve the country from the source of the data, then prepend the correct code.

  • Storing the number as an integer. A leading zero gets stripped by the numeric type, and the plus cannot be represented at all. Always store e164 as a string.

  • Using 00 or 011 instead of the plus. Those are region-specific exit codes, so embedding one into stored data ties the record to the place it was captured. Normalize to a single plus instead.

None of these need deep telecom knowledge to fix. They need a parsing step that runs before storage, which is the habit the last section returns to.

Valid format versus active line

A passing syntax check confirms only format, while a carrier lookup confirms whether the line is active.

Syntactic validation checks that the shape and the country's plan rules are correct, so it catches incorrect strings and impossible numbers. A carrier lookup confirms that an assigned subscriber is real and reachable. A number can be flawless e164 and still belong to no live line, which is why a clean string alone tells you nothing about deliverability.

Why e164 matters for your app

Platforms that route calls and messages, Acudo among them, require numbers in e164, an international phone format, because it removes routing guesswork and supports deduplication and deliverability. Feed a router a bare national number, and it has to guess the country. Feed it a normalized e164 string, and there is nothing to guess.

The cost of skipping this is measurable. A stored number that keeps a trunk zero or a region-specific exit code is a wasted send waiting to happen, and it also decays your CRM records over time.

One habit prevents most of the failures in this article. Parse and normalize every number to e164 with a library before you store or send it, so every downstream system reads the same clean value. Once the format is standardized, the harder question is whether those numbers are still live, which syntactic validation cannot answer on its own.

Acudo is a specialist validation partner that confirms whether numbers are correctly formatted and whether they reach real, active subscribers before budget goes into calls or texts, including OTP flows, without the overhead of full CPaaS complexity. If contactability and mobile data quality sit at the center of your operations, speak to Acudo about mobile validation workflows to close the gap between a valid e164 string and a line that actually answers.

Validate every number. Deliver every message.

Talk to our team about real-time phone number validation, fraud prevention, and high-deliverability SMS for your business.

Use a text field that preserves the leading plus sign, then enforce uniqueness on the normalized e164 value. Don’t use an integer column, since it removes information needed for international representation. Keep the raw user entry in a separate audit field only if your privacy policy permits it.

Store the extension separately from the main phone number. E.164 identifies the public network number, while extensions belong to a private PBX or office system. Dial the normalized number first, then pass the extension through your calling provider’s supported method.

No. National digits don’t identify their country on their own, and a default country can turn a foreign number into a different destination. Ask for the country at entry, or retain verified country context with the record. A parser needs that information to apply the correct national rules.

Recheck active-line status before a high-cost or time-sensitive communication, such as an OTP or payment alert. Also recheck records after a delivery failure or a long period without contact. Formatting remains stable, but subscriber assignment and reachability can change.

Acudo can follow your normalization step with a mobile validation workflow that checks contactability before critical calls or messages are sent. This complements structural validation because a correctly formatted number doesn’t confirm an active subscriber. Use the result to suppress unreachable records or request an updated number.

Get in touch

Talk to our team about phone number validation, fraud prevention, and reliable SMS communications.

You Might Also Like

Discover more insights and articles

Title:
How to create phone number validator rules that catch common errors

Meta description:
Learn how a phone number validator lets you clean input and check whether numbers can receive messages.

A

How to create phone number validator rules that catch common errors

Turning messy phone input into stored numbers you can actually message means building a validation pipeline, not a single regex. From cleaning through to a live network lookup, then what to return to the caller and how to test the whole thing end to end.

A realistic smartphone in a hand displays a phone number entry UI, glowing network overlay, and a secure checkmark, with warm bokeh background.

Phone verification for trust & safety teams

Fake accounts are rarely stopped by adding another verification step. The better approach is to use phone intelligence to decide which signups need more friction and which can pass with minimal interruption.

For trust & safety teams, the goal is not to verify every phone number in the same way. It is to identify numbers that look risky, validate legitimate ones quickly, and reserve stronger verification for accounts that show other signs of abuse.

A close-up of a realistic hand holding a smartphone displaying a UK phone number signup interface with a glowing network overlay.

How to set up UK phone number verification

A UK mobile number can look perfectly valid and still be unsuitable for an OTP, onboarding check, or critical customer message. The problem is what happens between accepting the number and sending the message: format validation can confirm that the number follows UK numbering rules, but it cannot tell you everything about the line itself. A stronger verification flow puts number validation and intelligence before the OTP send, so product, engineering, and trust & safety teams can make a better decision about whether to proceed.

A realistic hand holds a glossy smartphone displaying an SMS campaign dashboard, with glowing network icons and warm bokeh background.

How to build a bulk SMS messaging campaign that drives results

A first bulk SMS messaging campaign either sets the pattern for every one that follows, or teaches an expensive lesson in consent and list hygiene before a single message goes out. Getting it right comes down to sequence: one measurable goal, defensible consent, a validated list, and a message worth reading, built on the UK rules that decide whether a text lands or gets filtered.