E.164 とは、ITU-T (国際電気通信連合の電気通信標準化部門) が定めた国際的な電話番号の形式規格です。世界中の電話番号を一意に識別するための標準フォーマットで、+ (プラス記号) + 国番号 + 国内番号の構成をとり、国番号を含めた数字の合計は最大 15 桁と定められています。
E.164 形式では、国内番号の先頭に付く trunk prefix (日本では 0) を省略します。たとえば東京の 03-1234-5678 は +81312345678、携帯電話の 090-1234-5678 は +819012345678 と表記します。+ より後ろはハイフンやスペースを含めず、数字だけを並べます。日本の番号では、+81 に続く数字は固定電話が 9 桁、携帯電話が 10 桁になります。
この規格が重要な理由は、国際通信システムにおける番号の曖昧さを排除できる点にあります。「03-1234-5678」だけでは日本の番号かどうか判別できませんが、E.164 形式なら国番号から一意に特定できます。そのため、VoIP サービス、SMS の送信 API、CRM システム、二段階認証のワンタイムパスワード送信など、電話番号をプログラムで扱う場面で E.164 形式が標準として採用されています。
実務上の注意点として、E.164 形式への変換時に trunk prefix (国内プレフィックス) の扱いを間違えるケースがあります。よくある誤りは、国番号を付けたうえで 0 も残してしまう形 (+81 03-1234-5678 のような表記) で、これは E.164 として正しくありません。逆に、日本の 0 は省略しますが、イタリアの固定電話番号では先頭の 0 を国内番号の一部として残すなど、省略するかどうかは国によってルールが異なります。また、15 桁の上限を超える番号は E.164 として無効です。国ごとのルールを自前で書き分けると取りこぼしが出やすいため、Google の libphonenumber のような番号解析ライブラリに任せる方法があります。データベースへの保存や重複判定には E.164 形式を使い、画面表示は国内形式に戻すという使い分けも、番号の突合を安定させる手段になります。日本の国番号 +81 の使い方ガイドで変換方法を確認できます。