IBANジェネレーター&バリデーションツール - 銀行データテスト
欧州10か国分の有効なテスト用IBAN(国際銀行口座番号)を生成し、既存のIBANをMOD 97チェックディジット方式で検証する無料ツール。計算はすべてブラウザ内で行われ、入力したデータはサーバーに送信されない。金融ソフトウェアの開発とテスト、決済システムの動作確認に使われる。
IBANジェネレーター & バリデーター
ドキュメンテーション
IBAN生成・検証ツール
IBAN(国際銀行口座番号)は、国際決済で銀行口座を識別する標準コードです。このツールは、ヨーロッパ10か国向けの、正しい形式のテスト用IBANをランダムに生成し、銀行が使用するMOD 97チェックディジット式で、既存のIBANが有効かどうかを確認します。
IBANとは何ですか?
IBANが存在する前は、各国が独自の銀行口座番号形式を使用していました。ある国では有効な番号が別の国では意味を持たないため、国際送金はしばしば失敗しました。国際標準化機構(ISO)は、この問題を解決するためにIBAN規格ISO 13,616を制定しました。すべてのIBANには国コードと2桁のチェックディジットが含まれ、送金前にコンピューターが入力ミスの大部分を検出できます。
IBANは3つの部分で構成されます。
- 国コード:2文字。ドイツは
DE、英国はGBなどです。 - チェックディジット:以下で説明するMOD 97式で計算される2桁の数字です。
- 基本銀行口座番号(BBAN):国ごとに定められた部分で、通常は銀行コード、ときには支店コードと口座番号を含みます。
IBANは最大34文字で構成できますが、ヨーロッパのIBANの多くは16~28文字です。長さと内部構成は国によって完全に異なります。ドイツのIBANは22文字、フランスのIBANは27文字です。
国別のIBAN構造
| 国 | 長さ | 構造 | 例 |
|---|---|---|---|
| ドイツ(DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
| 英国(GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
| フランス(FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
| スペイン(ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
| イタリア(IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
| オランダ(NL) | 18 | NL2!n4!a10!n | NL91ABNA0417164300 |
| スイス(CH) | 21 | CH2!n5!n12!c | CH9300762011623852957 |
| オーストリア(AT) | 20 | AT2!n5!n11!n | AT611904300234573201 |
| ベルギー(BE) | 16 | BE2!n3!n7!n2!n | BE68539007547034 |
| ポーランド(PL) | 28 | PL2!n8!n16!n | PL61109010140000071219812874 |
構造欄では、nは数字、aは英字、cは英字または数字を表します。各文字の前にある数字は、その部分で使用する文字数です。たとえば、英国形式の4!a6!n8!nは、英字4文字、数字6桁、数字8桁を意味します。
IBANチェックディジットの計算方法(MOD 97式)
チェックディジットは、MOD 97-10として知られるISO 7064のアルゴリズムで計算します。新しいIBANのチェックディジットを生成する手順は次のとおりです。
- BBAN、国コード、プレースホルダー
00の順に記述します。 - 各英字を数字に置き換えます。A=10、B=11、同様にZ=35です。数字はそのままにします。
- 結果全体を1つの長い数として読み、97で割った余りを求めます。
- 98からその余りを引きます。結果が2桁のチェックディジットです。結果が1桁の場合は、先頭に0を付けます。
式で表すと、check digits = 98 − (N mod 97)です。Nは手順1と2で作成した数字列を表します。
例:ドイツのIBANのチェックディジットを計算する
ドイツの銀行コード37040044と口座番号0532013000を使用します。
- BBAN+国コード+
00:370400440532013000+DE+00=370400440532013000DE00 - 英字を置き換えます。D=13、E=14なので、文字列は
370400440532013000131400になります。 - この数を97で割ると、余りは9です。
- 98-9=89。
チェックディジットは89なので、完成したIBANはDE89370400440532013000です。
IBANの検証方法
既存のIBANが有効かどうかを確認する処理は、逆方向に進みます。
- 空白をすべて削除し、先頭4文字(国コードとチェックディジット)を文字列の末尾に移動します。
- 同じA=10からZ=35までの規則を使い、各英字を数字に置き換えます。
- 得られた数を97で割った余りを求めます。
- 余りが1の場合に限り、IBANは有効です。
この1つの規則で、数字1桁の誤りや2桁の入れ替えなど、一般的なデータ入力ミスのほとんどを検出できます。どの文字を変更しても、ほぼ必ず余りが変わるためです。
MOD 97チェックを実行する前に、このツールは国コードが認識されているか、その国に必要な正確な長さか、英字と数字がその国の形式で許可された位置にのみ現れているかも確認します。各チェックは個別のエラーメッセージを出すため、単に「無効」と表示するのではなく、問題を特定できます。
ツールの使い方
生成タブ:ドロップダウンから国を選び、「IBANを生成」をクリックします。ツールはその国の正しい形式でランダムなBBANを作成し、一致するチェックディジットを計算して、各部分の内訳とともに結果を表示します。「クリップボードにコピー」ボタンで完成したIBANをコピーできます。
検証タブ:空白の有無にかかわらず、IBANを入力または貼り付けます。入力中にツールが検証し、有効かどうかを表示します。有効なIBANの場合、国コード、チェックディジット、銀行コード、支店コード(その国の形式に含まれる場合)、口座番号を表示します。
国コードは先頭2文字にあるため、検証ツールで国を手動選択する必要はありません。コードを読み取り、対応する規則を自動的に適用します。
すべての処理はブラウザー内で行われます。IBANがサーバーに送信されたり、どこかに保存されたりすることはありません。
このツールがテストに役立つ理由
決済を扱うソフトウェアには、実際のIBANのように動作しながら実在の口座には結び付かないテストデータが必要です。ランダムな数字列は通常、MOD 97チェックに失敗します。そのため、それを使ったテストは、テスト対象コードのバグではなく、不適切なテストデータという誤った理由で失敗することがあります。正しい形式のIBANを生成すれば、本番システムと同じ検証に合格しながら実在の銀行口座とは無関係であるため、この問題を避けられます。
よくある質問
IBANは何に使われますか? 国際送金および国内送金で特定の銀行口座を識別するために使われます。送金前にコンピューターがエラーを確認できる形式になっています。
このツールが生成するIBANは実在の銀行口座に結び付いていますか? いいえ。正しい形式に従い、MOD 97チェックに合格するランダムな番号ですが、実在の口座には対応していません。実際の送金には使用せず、テスト、開発、教育のみに使用してください。
国によってIBANの長さが異なるのはなぜですか? 各国は、IBAN規格によって1つの国コードとチェックディジット方式の下に統合される前に、それぞれ独自の基本銀行口座番号形式を設計しました。ISO 13,616は国ごとの長さを定めましたが、すべての国に同じ内部構成を強制したわけではありません。
IBAN内の空白は問題になりますか?
いいえ。IBANは読みやすさのため、DE89 3704 0044 0532 0130 00のように4文字ずつ区切って表示されることがありますが、空白は検証に影響しません。DE89370400440532013000は空白を削除した同じIBANです。
このツールはどの国に対応していますか? ヨーロッパの10か国です。ドイツ、英国、フランス、スペイン、イタリア、オランダ、スイス、オーストリア、ベルギー、ポーランドに対応しています。
IBANとSWIFT/BICコードの違いは何ですか? SWIFT/BICコードは銀行または銀行支店を識別します。IBANはその銀行にある特定の1口座を識別します。国際送金では両方が必要になることが多く、SWIFT/BICコードが正しい銀行へ送金を振り分け、IBANが正しい口座へ振り分けます。
参考文献
- ISO 13616-1:2007 — IBAN構造の仕様。
- SWIFT IBAN Registry — 国別のIBAN形式の公式情報。
- ISO 7064:2003 — MOD 97-10を含むチェック文字方式。