Skip to content
DialPhone
Start free trial

Glossary · E.164

What is E.164?

E.164 is the global numbering plan recommended by the International Telecommunication Union (ITU-T) that defines a single, unambiguous format for every phone number in the world. An E.164 number starts with a +, followed by a country code and a national subscriber number, with a maximum total length of 15 digits and no separators, spaces, or parentheses.

What an E.164 number looks like

The format is +[country code][national number]. A few examples:

  • US/Canada: +14155551212 (country code 1, area code 415, subscriber 5551212)
  • UK: +442071838750 (country code 44, area code 20, subscriber 71838750)
  • India: +919876543210 (country code 91, ten-digit national number)

Country codes are 1 to 3 digits. The national number that follows fills the remaining digits up to the 15-digit limit. No leading zeros, no extension fields, no formatting characters.

Why E.164 matters for VoIP and APIs

E.164 is the canonical format every VoIP system, SIP trunking carrier, SMS API, and call-routing engine expects. Storing numbers in any other shape — “(415) 555-1212”, “0207 183 8750”, “4155551212” with no country code — creates ambiguity that breaks routing, deduplication, and international delivery.

Benefits of normalising to E.164 at the application boundary:

  • Unambiguous routing: every carrier and CPaaS API knows exactly which country and switch the call belongs to.
  • Clean deduplication: the same contact is one row, not three formatted variants.
  • Portable numbers: when a DID is ported between carriers, its E.164 identity does not change.
  • Reliable validation: libraries such as Google’s libphonenumber can parse, validate, and format any input into a single canonical E.164 string.

E.164 vs. national format vs. dial strings

These three representations of the same number are easy to confuse:

  • E.164: +14155551212 — universal, stored in databases and exchanged between systems.
  • National format: (415) 555-1212 — displayed to humans in the country of origin.
  • Dial string: what a user actually types into a phone, which may include trunk prefixes (0), international access codes (00 in Europe, 011 in North America), or PBX outbound digits.

Always store and transmit in E.164. Convert to a national display format only at the UI layer, and translate to a dial string only when handing off to a legacy on-premise PBX that requires one.

E.164 frequently asked questions

What does E.164 stand for?

E.164 is not an acronym — it is the number of the ITU-T recommendation that defines the international public telecommunications numbering plan. The recommendation specifies the format, length, and structure of phone numbers worldwide.

What is the maximum length of an E.164 number?

A maximum of 15 digits, not counting the leading +. That total includes the country code (1 to 3 digits) and the national subscriber number, but never any prefixes, separators, or extensions.

Should I store phone numbers in E.164 format?

Yes — E.164 is the recommended canonical storage format for any application that handles voice calls, SMS, or international contacts. It removes ambiguity, simplifies validation, and matches what every modern telecom API and VoIP carrier expects on the wire.

Does E.164 include the leading plus sign?

The + is part of the visible E.164 representation and signals “international format follows.” Many telecom systems internally store the digits only and assume the + implicitly; APIs and databases should be explicit and keep the + to avoid country-code confusion.

See how DialPhone fits

DialPhone provisions and ports DIDs in E.164 from day one, so numbers are interoperable across SIP, REST APIs, and downstream CRMs — no normalisation scripts, no broken international routing, no duplicate contacts from inconsistent number formatting.

Learn more about DialPhone

AI-powered business phone, SMS, meetings, fax, and contact center from $24/user/mo.

Call sales Start free trial