ルーン(Luhn)アルゴリズムのチェックディジット計算・検証
Luhn(ルーン)方式は、クレジットカード番号やIMEIなどの入力ミスを見つけるためのチェックディジットです。1行に1つずつ番号を入力すると、末尾の数字を検証するか、新たに計算します。サンプル番号やテスト番号だけを使ってください。
計算方法
実際のカード情報は入力しないでください。計算はブラウザ内だけで行われ、入力内容は送信も保存もされず、アドレスバーにも追加されません。結果は純粋な形式チェックで、カードが存在するか、停止されているか、利用可能かは分かりません。
Luhnアルゴリズムの計算方法
- チェックディジットを除き、右から数えて1つおきの数字を2倍します。
- 2倍した値が9より大きければ、各桁を足します(9を引くのと同じ)。例:7 × 2 = 14 → 5。
- すべての数字を合計します。チェックディジットは、合計を次の10の倍数にする数です。
例 7992739871:右から1→2、7、8→16→7、9、3→6、7、2→4、9、9→18→9、7。合計は67で、70まで3足りない → 完全な番号は79927398713。検証するときはチェックディジットを含めて計算し、合計が10で割り切れれば正しい番号です(ここでは70)。
Luhnアルゴリズムはどこで使われている?
ISO/IEC 7812-1に基づくカード番号(Visa、Mastercard、JCBなどのクレジットカードや多くのポイントカード)、携帯電話のIMEIの15桁目(3GPP TS 23.003)、多くの会員番号や契約番号で使われています。1桁の入力ミスはすべて、隣り合う数字の入れ替えもほぼすべて検出できます(「09」↔「90」は例外)。ただし、でたらめな番号を防ぐものではなく、ランダムな番号の10個に1個は合格します。
テストには教科書の例79927398713や、3GPP規格に載っているIMEI 49015420323751-8を使えます。
よくある質問
Luhnチェックに合格すればカード番号は有効ですか?
いいえ。数字の並びが形式として正しいことが分かるだけです。カードが存在するか、使えるか、残高があるかはカード会社にしか分かりません。実際のカード情報は、お店の決済画面でだけ入力してください。
入力内容は保存・送信されますか?
いいえ。計算は端末上のJavaScriptで行われ、入力はURLにも含まれず、ブラウザにも保存されません。それでもサンプル番号やテスト番号だけを使ってください。
ルーンアルゴリズムとは?
1954年にIBMのハンス・ピーター・ルーンが考案した、モジュラス10のチェックディジット計算方式です(1960年に特許取得)。クレジットカード番号の末尾の数字はこの方式で計算されており、ISO/IEC 7812-1で定められています。
チェックディジットとは何ですか?
番号の末尾に付ける検査用の数字で、ほかの桁から計算で求めます。入力ミスがあると計算が合わなくなるため、打ち間違いをすぐに見つけられます。Luhn方式はその代表的な計算方法です。
JANコードやマイナンバーのチェックディジットも計算できますか?
いいえ、計算式が違います。JANコード(EAN)は桁ごとに1と3の重みを掛けるモジュラス10、マイナンバーはモジュラス11を使います。Luhn方式で検証すると正しい番号でも不合格になることがあります。
IMEIも確認できますか?
はい。15桁のIMEIの末尾はLuhn方式のチェックディジットです(3GPP TS 23.003 付属書B)。「検証」では15桁すべてを、「計算」では最初の14桁を入力します。
Luhnアルゴリズムで見つけられない誤りは?
0と9の入れ替え(09 ↔ 90)、22 ↔ 55、33 ↔ 66、44 ↔ 77のような同じ数字の組の誤り、そして偶然打ち消し合う複数の誤りです。
カード会社を判定しないのはなぜ?
先頭の数字(IIN/BIN)とカード会社の対応は常に変わり、形式チェックには必要ありません。本ツールはあえてチェックディジットだけに絞っています。
出典・根拠
- ISO/IEC 7812-1: ISO/IEC 7812-1:2017 – Identification cards, Annex: Luhn formula for computing modulus-10 check digits
- 3GPP TS 23.003: 3GPP TS 23.003 – Numbering, addressing and identification, Annex B: IMEI check digit (Luhn)
- US Patent 2,950,048 – H. P. Luhn, Computer for verifying numbers (1960)
更新日:
関連ツール
- チェックデジット計算・確認(JAN・EAN・ISBN)JANコード(EAN-13・EAN-8)、UPC-A、GTIN-14、ISBN-10/13のチェックデジットを計算・確認できる無料ツール。ISBN-10からISBN-13への変換にも対応しています。
- IBANチェックツール海外送金の前にIBANを確認できます。89か国の桁数・形式とチェックデジット(mod 97)を検証し、ドイツのIBANは銀行名とBICも表示。ブラウザー内で処理します。
- メールアドレスの形式チェックメールアドレスの書式がRFC 5321/5322に合っているかを一括チェック。文字数、使える文字、全角@、日本語ドメインまで確認。送信なしで端末内だけで処理します。
- Base64エンコード・デコードBase64・Base64urlのエンコードとデコードをUTF-8で正しく変換。日本語も文字化けしません。URLエンコード・デコードにも対応した無料ツールです。
- CSS box-shadowジェネレーターCSSのbox-shadowをスライダーで作成。複数の影、オフセット、ぼかし、広がり、透明度付きの色、inset、プリセットに対応し、プレビューを見ながらCSSをコピーできます。
- CSSグラデーション ジェネレーターCSSグラデーションを作成。線形・円形・扇形に対応し、カラーストップと角度を自由に設定。プレビューを見ながら、そのまま使えるCSSをコピーできます。