IBANの構造:国別の形式とMOD 97チェックディジット
IBAN(International Bank Account Number、国際銀行口座番号)は、国をまたいで銀行口座を特定する番号で、ヨーロッパや中東などへ送金するときに受取人のIBANを求められます。どのIBANも同じ骨組みですが、長さと構成は国ごとに決まっていて、2桁のチェックディジットが入力ミスの大半を送金前に見つけます。このガイドでは、IBANの構成、SWIFTのIBAN登録簿にある形式の読み方、中央銀行の例によるMOD 97-10の検証方法、正しいIBANでも証明されないことを説明します。
IBANの構成
- 国コード:ISO 3166の英字2文字(DE、FR、GBなど)
- チェックディジット:IBAN全体についてISO 7064 MOD 97-10で計算した2桁の数字
- BBAN(Basic Bank Account Number):その国の口座番号。たいてい銀行コードを含み、支店コードや国独自のチェックディジットを含むこともあります。
規格はISO 13616で、SWIFTが登録機関です。各国がIBANの長さと構成を登録し、SWIFTがIBAN登録簿として公開しています。第103版(2026年9月)には89か国が載っていて、LeedyBoxのチェッカーの形式もここから取っています。日本、米国、中国、韓国は登録簿になく、IBANを使っていません。
いくつかの国の形式
| 国 | 長さ | 登録簿の形式 | 登録簿の例 |
|---|---|---|---|
| ノルウェー(最短) | 15 | NO2!n4!n6!n1!n | NO93 8601 1117 947 |
| ドイツ | 22 | DE2!n8!n10!n | DE89 3704 0044 0532 0130 00 |
| 英国 | 22 | GB2!n4!a6!n8!n | GB29 NWBK 6016 1331 9268 19 |
| フランス | 27 | FR2!n5!n5!n11!c2!n | FR14 2004 1010 0505 0001 3M02 606 |
| アラブ首長国連邦 | 23 | AE2!n3!n16!n | AE07 0331 2345 6789 0123 456 |
| ロシア(最長) | 33 | RU2!n9!n5!n15!c | RU03 0445 2522 5408 1781 0538 0913 1041 9 |
形式の表記では、nは数字、aは英大文字、cは英字または数字で、長さのあとの!は固定長を表します。たとえばGB2!n4!a6!n8!nは、GB、チェックディジット2桁、英字4文字(銀行)、数字6桁(ソートコード)、数字8桁(口座番号)の計22文字です。チェッカーの国リストで89か国すべての形式と例を見られます。
チェックディジットの検証手順
トルコ中央銀行のIBANに関する告示は、TR47 0000 1001 0000 0350 9300 01を例にMOD 97-10の検証を説明しています。
- スペースを取り、先頭4文字(TR47)を末尾に移します:
TR470000100100000350930001→0000100100000350930001TR47 - 英字を2桁の数字に置き換えます(A = 10、B = 11 … Z = 35)。T = 29、R = 27なので
0000100100000350930001292747になります。 - この数を97で割ります。正しいIBANなら余りは1です。
28桁の数は、通常の整数や浮動小数点数では扱いにくい大きさです。告示は分けて計算する方法も示しています。先頭9桁000010010を97で割った余りは19、19を次の桁の前に付けた19000035093の余りは43、最後に430001292747の余りは1です。余りを次のまとまりの前に付けていけば区切り方は自由で、プログラムでは1文字ずつ処理してもかまいません。
新しいチェックディジットの計算
- BBAN、国コード、00の順に並べます。ドイツの例なら
370400440532013000+DE+00です。 - 英字を置き換えると(D = 13、E = 14)
370400440532013000131400になります。 - 97で割った余り(ここでは9)を98から引きます。98 − 9 = 89で、10未満なら先頭に0を付けます。
結果はDE89 3704 0044 0532 0130 00です。実際のIBANは銀行が決めるので、開発者にとってこの計算は主にテストデータを作るときに必要になります。チェッカーのテスト用IBANも、ランダムなBBANにこの方法を使っています。
検証で見つかること、見つからないこと
- 必ず見つかる:数字1桁の誤りと、隣り合う2桁の入れ替わり。97はこうした誤りで生じるどの差よりも大きい素数なので、余りが必ず変わります。
- 形式で見つかる:長さの誤りや、数字の位置にある英字。そのためチェッカーはまず登録簿の形式を確認します。
- 確認しない:スペインの2桁のチェック数字やイタリアのCINのような、BBAN内の国独自のチェックディジット。MOD 97を通っても銀行が受け付けないことがあります。
- 番号からはわからない:口座が実在するか、開いているか、入金できるか、名義人が正しいか。
IBANの書き方
紙には左から4文字ずつスペースで区切って書き、最後のまとまりは短くてもかまいません。電子送金ではスペースを入れません。アラブ首長国連邦中央銀行は印刷用の例としてAE07 0331 2345 6789 0123 456を挙げています。どちらも同じIBANなので、入力フォームは両方を受け付け、一方の形で保存するのがよいでしょう。
よくある質問
IBANとSWIFTコード(BIC)は同じですか?
いいえ。IBANは口座を、BIC(よくSWIFTコードと呼ばれます)は銀行を表します。両方が必要な送金もあります。
日本の口座にIBANはありますか?
ありません。日本はSWIFTのIBAN登録簿に含まれていません。海外から日本の口座に送金してもらうときは、ふつう銀行のSWIFT(BIC)コードと口座番号を伝えます。
銀行コードと口座番号からIBANを自分で作ってもよいですか?
チェックディジットは計算できますが、国によっては銀行ごとに特別な変換規則があります。口座の明細やネットバンキングに表示されたIBANを使うのが確実です。
チェッカーはIBANをどこかに送信しますか?
いいえ。検証はブラウザ内で行い、LeedyBoxからは登録簿のデータファイルだけを読み込みます。
出典
出典:SWIFT: IBAN Registry, Release 103 (September 2026)・確認日:
出典:Central Bank of the UAE: IBAN・確認日: