E.164 is an international phone number format standard defined by ITU-T, the standardization sector of the International Telecommunication Union. It is the standard format for uniquely identifying phone numbers worldwide, structured as + (plus sign) + country code + national number, with the digits including the country code capped at 15.
In E.164 format, the trunk prefix (0 in Japan) at the beginning of the national number is omitted. For example, Tokyo's 03-1234-5678 becomes +81312345678, and mobile 090-1234-5678 becomes +819012345678. After the plus sign, only digits appear - no hyphens or spaces. For Japanese numbers, the digits following +81 come to 9 for landlines and 10 for mobile numbers.
This standard is important because it eliminates number ambiguity in international communication systems. "03-1234-5678" alone doesn't indicate whether it's a Japanese number, but E.164 format uniquely identifies it from the country code. That is why E.164 is adopted as the standard wherever phone numbers are handled programmatically: VoIP services, SMS sending APIs, CRM systems, and two-factor authentication one-time password delivery.
A practical note: errors in handling the trunk prefix (national prefix) during E.164 conversion are common. A frequent mistake is adding the country code while keeping the 0 as well, as in +81 03-1234-5678, which is not valid E.164. Whether the prefix is dropped also varies by country: Japan's 0 is omitted, but an Italian landline number keeps its leading 0 as part of the national number. Numbers exceeding the 15-digit limit are likewise invalid in E.164. Writing per-country rules yourself invites gaps, so one approach is to delegate parsing to a library such as Google's libphonenumber. Storing and de-duplicating numbers in E.164 while formatting them back to the national style for display is another way to keep number matching stable. See the guide to Japan's country code +81 for conversion methods.