✅ チェックディジット計算(Luhn・バーコード)

数字列の「チェックディジット(検査数字)」を計算・検証します。クレジットカードなどで使われるLuhnアルゴリズム、バーコードのEAN-13/JAN-13・EAN-8・UPC-Aに対応。各桁の重み付けと総和など、計算の途中経過も表示します。すべてブラウザ内で処理し、入力はどこにも送信しません。

入力

方式
動作

結果

解説

チェックディジット(検査数字)は、番号の末尾に付け足す1桁の検算用の数字です。カード番号やバーコード、会員番号などを人が読み取ったり入力したりするとき、桁の打ち間違いや読み取りミスは避けられません。そこで、それ以外の桁から決められた計算式で1桁を導き、末尾に添えておきます。受け取った側が同じ式で計算し直し、末尾の数字と一致するかを確かめれば、入力ミスの多くをその場で検出できます。本ツールは、代表的なLuhnアルゴリズムと、商品バーコードのEAN/UPC系の検査数字を、計算・検証の両方向で扱えます。

Luhnアルゴリズム(モジュラス10)は、クレジットカード番号・IMEI(携帯端末の識別番号)・一部の会員番号などで広く使われます。手順は、末尾(チェックディジットの1つ左)から1つおきに桁を2倍し、2倍した結果が9を超えたら9を引きます(=各位の数字を足す操作と同じ)。残りの桁はそのまま足し、全部の総和を求めます。計算では「総和を10の倍数にするために足す数字」がチェックディジットになり、検証では総和が10で割り切れれば妥当と判定します。例えば「7992739871」のチェックディジットは3で、全体は「79927398713」になります。

EAN-13/JAN-13(日本のJANコードはEAN-13と同一規格)は13桁で、先頭12桁からチェックディジットを求めます。手順は、先頭から数えて奇数番目の桁を×1、偶数番目の桁を×3して合計し、その総和を10で割った余りを10から引き、さらに10で割った余り(=一の位を0に丸める補数)をチェックディジットとします。これは「右端から交互に×3、×1…と重み付けする」やり方と同じ結果になります。EAN-8は先頭7桁から、UPC-A(12桁)は先頭11桁から、いずれも右端側を×3とする同じ重み付けで13桁目・8桁目・12桁目を求めます。

チェックディジットは万能ではありません。1桁の打ち間違いは確実に検出できますが、複数桁が同時に狂った場合や、特定の組み合わせのミスは検出をすり抜けることがあります。例えばLuhnやEAN-13では、隣り合う桁の入れ替えでも一部のパターン(Luhnでは09と90の入れ替えなど)は見逃します。あくまで「入力ミスを早期に見つけるための仕組み」であり、番号が実在・有効であることや、名義・残高などの正しさを保証するものではありません。本ツールの計算はすべて端末内(ブラウザ内)で行い、入力した数字はどこにも送信されません。

よくある質問

チェックディジットとは何ですか?

番号の末尾に付ける検算用の1桁です。それ以外の桁から決まった式で計算して求め、受け取った側が同じ計算をして末尾と一致するか確かめます。カード番号・バーコード・会員番号などの入力ミスや読み取りミスを、その場で検出するために使われます。

Luhnアルゴリズムの計算手順は?

末尾(チェックディジットの1つ左)から1つおきに桁を2倍し、2倍が9を超えたら9を引きます。残りの桁はそのまま足して総和を出します。計算モードでは「総和を次の10の倍数にするために足す数字」がチェックディジット、検証モードでは総和が10で割り切れれば妥当です。本ツールでは各桁の2倍対象や合計をすべて表示します。

EAN-13(JAN)の重み付けはどうなっていますか?

先頭12桁について、先頭から奇数番目を×1、偶数番目を×3して合計します。その総和を10で割った余りを10から引き、さらに10で割った余りが13桁目です(余りが0なら0)。右端から見て交互に×3・×1…とするやり方と同じ結果になります。EAN-8・UPC-Aも右端側を×3とする同じ考え方です。

JANコードとEAN-13は違うものですか?

同じ規格です。日本で「JANコード」と呼ばれる13桁の商品バーコードは、国際的なEAN-13と同一で、計算方法も同じです。先頭は国コード(日本は45または49)で始まります。本ツールのEAN-13/JAN-13モードはどちらの呼び方でも同じ結果になります。

どんな入力ミスを検出できて、何を見逃しますか?

1桁の打ち間違い(単一桁誤り)はほぼ確実に検出できます。一方、複数桁が同時に狂った場合や、特定の桁の入れ替えは見逃すことがあります。例えばLuhnでは「09」と「90」の入れ替えを検出できません。番号が実在・有効かどうかや、名義・残高の正しさまでは保証しません。

桁数が足りない・多いとどうなりますか?

EAN-13は計算12桁/検証13桁、EAN-8は7桁/8桁、UPC-Aは11桁/12桁ちょうどが必要です。桁数が合わないときは、必要な桁数を注記でお知らせします。Luhnは桁数の制限がなく、任意の長さの数字列に対応します。数字以外の文字(ハイフン・空白など)は自動的に取り除いて計算します。

クレジットカード番号を入力しても安全ですか?

計算はすべてブラウザ内だけで行い、入力した数字はサーバーへ送信されません。オフラインでも動作します。とはいえ共用端末では入力欄に番号が残らないよう消去し、実在するカード番号の扱いには十分ご注意ください。本ツールは書式(チェックディジット)の確認のみで、有効性の判定はできません。

計算はサーバーに送られますか?

送られません。方式の判定・重み付け・総和・チェックディジットの算出はすべて端末内(ブラウザ内)で完結し、入力内容はどこにも送信されません。