IBANチェックディジット生成
国DE、銀行コード37040044、口座0532013000からは、チェックディジット89とIBAN DE89370400440532013000が得られます。給与振込やSEPAファイル、登録フォーム用に完全なIBANを作り、長さが合わないときは警告します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 国
- DE
- 銀行
- 37040044
- 口座
- 0532013000
- BBAN (国内口座番号)
- 370400440532013000
- チェックディジット
- 89
- IBAN (国際銀行口座番号)
- DE89370400440532013000
- 書式付き IBAN
- DE89 3704 0044 0532 0130 00
国際送金、給与ファイル、オンボーディングフォームでは、相手が番号を見る前に完全なIBANが必要になることがよくあります。銀行が発行する国内明細は銀行コードと口座番号の組み合わせで、国コードの直後に付くISO 13616の2桁チェックディジットは手計算では分かりにくいものです。このIBANチェックディジット生成ツールは2文字の国コード、銀行識別子、口座番号を受け取り、BBANを組み立て、国とゼロのプレースホルダで並べ替えたうえで、すべてのSEPAおよびIBAN登録が使うISO 7064 mod 97-10アルゴリズムを適用します。コンパクトなIBAN、空白区切りの表示形式、2桁のチェックディジット、BBAN、およびその国の公式長さ不一致など不正な部分の短い報告を受け取れます。
国・銀行・口座からIBANチェックディジットを計算する方法
IBANは常に2文字の国コードで始まり、次に2桁の10進チェックディジット、その後に国固有のBasic Bank Account Number(BBAN)が続きます。このツールはBBANを勝手に作りません。国内の部品(通常は銀行コードまたはソートコードと口座番号)を渡し、空白とハイフンを除いて連結します。
ISO 13616はチェックサム用に文字列を並べ替えます。国コードと2つのチェック位置を末尾へ移し、そこにゼロを入れ、文字AからZを10から35へ写像し、得られた数字列を97で剰余します。公式のチェック値は98からその余りを引いたもので、00から98までの2桁として書きます。
国・その2桁・BBANを再結合すると完全なIBANになります。有名なドイツの例は国DE、銀行37040044、口座0532013000で、チェックディジット89とIBAN DE89370400440532013000になります。完成したIBANの検証は逆の検査です。
並べ替えて余りが1であることを要求します。生成に銀行ディレクトリへのネットワークは不要で、その国の構造に合う正しい国内部品だけが必要です。
入力する内容と結果、警告の見方
国はちょうど2文字のA–Zに正規化する必要があります。銀行と口座は空白・ハイフン・アンダースコア・ドット除去後に空でないA–Zと0–9の文字列に正規化し、文字は大文字化されます。結合BBAN長は30文字以内に保ち、完成IBANが世界共通の34文字上限に収まるようにします。
malformed配列はチェックサムを止めなかった人間可読な問題を列挙します。例としてDEやGBの登録長さと一致しない生成長、またはその登録外の国コードです。無効入力は課金されません。
すでにチェックディジットを含む文字列を再確認する場合は、別のIBAN検証機能と組み合わせてください。
活用例
SEPA・給与ファイルの準備
ERPの銀行コードと口座列を、正しいmod 97-10チェックディジット付きの完全なIBANへ変換してから、振込や口座引落のバッチを生成します。
支払コード向けQAオラクル
DE89370400440532013000のような既知ベクトルをCIに固定し、IBAN組み立てとチェックディジット論理がサービス間でずれないようにします。
よくある質問
2桁のチェックディジットに使うアルゴリズムは?
ISO 13616のIBAN仕様どおりのISO 7064 MOD 97-10です。BBAN + country + 00を並べ替え、文字A–Zを10–35に写像し、98から(値 mod 97)を引きます。
malformed配列の意味は?
チェックサムはまだ可能なソフトな問題です。既知国の公式長さ不一致、または内蔵長さ登録外の国など。
既存IBANの検証と同じですか?
いいえ。 この機能は部品からチェックディジットと完全なIBANを生成します。完成したIBAN文字列の検証には専用のIBANバリデータ機能を使ってください。
作ったIBANで口座の実在は分かりますか?
いいえ。入力された情報で計算するだけで、銀行の名簿には一切照会しません。銀行コードや口座番号が間違っていても計算上は正しいIBANができてしまい、その口座は存在しないかもしれません。
国の長さと合わないという警告が出るのはなぜですか?
IBANの長さは国ごとに決まっており、ドイツは22文字です。銀行コードと口座番号を合わせてその長さにならない場合も計算はしますが、国内の情報が足りないか並びが違う可能性をお知らせします。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/iban-generate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"country":"DE","bank":"37040044","account":"0532013000"}'const res = await fetch("https://api.kit.forhosting.com/enc/iban-generate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"country": "DE",
"bank": "37040044",
"account": "0532013000"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/iban-generate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"country": "DE",
"bank": "37040044",
"account": "0532013000"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/iban-generate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"country":"DE","bank":"37040044","account":"0532013000"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"country":"DE","bank":"37040044","account":"0532013000"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/iban-generate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"country": "DE",
"bank": "37040044",
"account": "0532013000"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.iban_generate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
入力契約、応答フィールド、不正部分の報告方法
必須フィールド3つのJSON本体をPOSTします。country(別名country_code、cc、nation)、bank(別名bank_code、bank_id、sort_code、bic_bank)、account(別名account_number、acct、account_no、iban_account)です。成功時の本体にはcountry、bank、account、bban、check_digits、iban、iban_formatted(4文字グループ)、length、algorithm(iso13616_mod97_10)、国が公式長さ表にある場合はexpected_lengthとlength_okが含まれます。欠落フィールド、非英数字、国が2文字でないなどの致命的失敗はinvalid_inputを投げ、メッセージ内で不正部分を名指しするのでクライアントは正しいフォーム制御を強調できます。
IBANチェックディジット生成が本領を発揮する場面
財務・運用チームは、いまだ国内の銀行・口座列を持つERPエクスポートからSEPA送金ファイルを組み立てます。QAと回帰スイートはドイツのDE89サンプルのような既知ベクトル向けに決定的なオラクルを求め、誰かがmod-97ループを変えたらCIが落ちるようにします。小さなparse APIでチェックディジットを計算すれば、すべてのワーカーに完全な銀行ライブラリを載せる必要がありません。SaaSオンボーディングは国・銀行・口座を別フィールドで集め、ユーザーが支払プロファイルを確定する前にプレビューIBANを示す必要があります。実装は純粋parseティアAのため、成功した呼び出しは毎回公開の基本価格$0.002で、モデルトークンも外向きネットワークもありません。リクエストは小さく保ち、返却されたibanとcheck_digitsをテストに固定し、長さのmalformed警告は、数学自体は正しくても国内の組み立てがその国のBBANレイアウトと合っていない可能性があるソフト信号として扱ってください。
連携の活用例
支払オンボーディングフォーム
国・銀行・口座フィールドからコンパクトで区切られたIBANをプレビューし、本番の支払レールに乗る前にユーザーが番号を確認できるようにします。
技術的な質問
国・銀行・口座からIBANチェックディジットを生成するには?
country(2文字)、bank、accountを送ります。APIがBBANを組み立て、ISO 13616 mod 97-10を適用し、check_digitsと完全なibanおよびiban_formatted文字列を返します。
IBANチェックディジット生成の料金は?
ブラウザツールは無料です。APIリクエストは成功した呼び出しごとに$0.002のKIT前払い残高を使い、無効入力は課金されません。