EAN-13チェックディジットの仕組み

すべてのEAN-13バーコードの13桁目は、選んで決めるものではなく、計算で求められます。ここでは計算式、完全な計算例、そしてなぜ重要なのかを解説します。

EAN Studio · 2026年7月更新

EAN-13バーコードは13桁の数字をエンコードします。最初の12桁は商品を識別し(GS1プレフィックス、事業者コード、商品コード)、13桁目はチェックディジット、すなわち他の12桁から計算される1桁の数字です。その唯一の役割はエラーを検出することです。1桁でも入力ミスや読み取りミスがあると、チェックディジットが一致しなくなり、スキャンが拒否されます。

計算式をわかりやすく

12桁のデータ桁を左から右に読み進めます。

  1. 奇数位置(1桁目、3桁目、5桁目…)の数字を1倍します。
  2. 偶数位置(2桁目、4桁目、6桁目…)の数字を3倍します。
  3. すべての結果を足し合わせて合計を求めます。
  4. チェックディジットは、その合計を次の10の倍数に達させるために加える必要のある数です。式で表すと、check = (10 − (sum mod 10)) mod 10 となります。

最後の「mod 10」は、あるエッジケースで重要になります。合計がすでに10の倍数である場合、チェックディジットは10ではなく0になります。

計算例

12桁のデータ桁400638133393を例にとります。それぞれの重みとともに並べます。

数字400638133393
重み131313131313
40018324193999

積の合計は4 + 0 + 0 + 18 + 3 + 24 + 1 + 9 + 3 + 9 + 9 + 9 = 89です。89を超える次の10の倍数は90で、90 − 89 = 1となります。したがってチェックディジットは1で、完全なEAN-13は4006381333931になります。

手計算したくないですか? チェックディジット計算ツールなら、EAN-13、UPC-A、EAN-8、GTIN-14についてこの計算を瞬時に行えます。またEAN-13ジェネレーターは、バーコードを作成する際にチェックディジットを自動的に追加します。

スキャナーがチェックディジットに依存する理由

スキャナーはEAN-13を読み取るとき、最初の12桁に対してまさにこの計算を繰り返し、その結果を13桁目と比較します。一致しない場合、読み取りは破棄されます。この1桁の追加により、1桁の入力ミスの大多数と多くの桁の入れ替えミスを検出できます。レジで誤った商品をスキャンしてしまうことに対する、低コストな保険です。

同じ計算がUPC、EAN-8、GTIN-14を支えています

EAN-13の方法は実際にはGS1モジュロ10アルゴリズムであり、このファミリー全体で共有されています。UPC-A(11桁のデータ桁)、EAN-8(7桁のデータ桁)、GTIN-14 / ITF-14(13桁のデータ桁)はすべて、右から交互に3と1の重みを使用します。変わるのは長さだけで、ロジックは同一です。

チェックディジットは番号全体ではありません。 チェックディジットを計算しても、登録済みの商品番号が作られるわけではありません。小売販売の場合、EAN-13の背後にあるGTINはGS1によって割り当てられます。この計算は、すでにお持ちの番号を完成させ、検証するだけのものです。

今すぐ計算または生成

計算は省略しましょう。ブラウザ上でチェックディジットと完全な番号を取得できます。

チェックディジット計算ツールを開く

よくある質問

EAN-13のチェックディジットとは何ですか?

EAN-13バーコードの13桁目(最後の桁)で、最初の12桁から計算されます。スキャナーは読み取りのたびにこれを再計算し、入力ミスや読み取りミスのある番号を検出します。

EAN-13のチェックディジットはどのように計算しますか?

12桁のデータ桁に1と3の重みを交互にかけ(最初の桁は1をかけます)、その積を合計し、次の10の倍数に達するために必要な数がチェックディジットになります。

UPC-AやEAN-8にも同じ計算式が適用されますか?

はい。UPC-AEAN-8、GTIN-14はすべて同じGS1モジュロ10アルゴリズムを使用します。変わるのはデータ桁の数だけです。

チェックディジットが間違っているとどうなりますか?

スキャナーはチェックディジットを再計算し、一致しない場合は読み取りを拒否します。そのため、無効な番号や入力ミスのある番号は、有効な商品としてスキャンされません。