EAN-13 / UPC-Aバーコード生成ツール
商品番号から本物のスキャン可能なEAN-13またはUPC-A小売バーコードを生成 — チェックデジットは自動計算、PNGでダウンロードできます。
1,134回閲覧
チェックデジットは実際どうやってエラーを検出するのか
EAN-13とUPC-Aは、世界中の小売商品に印刷されているバーコード形式です — 店頭でのスキャン用途ではなく、物流・資産管理ラベル向けに作られたこのサイトのCode 128生成ツールとは異なります。最初の12桁(EAN-13)または11桁(UPC-A)を入力すると、GS1が定義した重み付き合計法に厳密に従って、最後のチェックデジットが自動計算・付加されます。
計算方法を段階的に説明すると:左端から始めて、各桁は交互に1倍と3倍されます(位置によって決まり、EAN-13では12桁を通して通常×1、×3、×1、×3……というパターンになります)。その結果を合計し、その合計を次の10の倍数に切り上げるために必要な値がチェックデジットになります:チェックデジット = (10 − (合計 mod 10)) mod 10。具体例:12桁の690123456789に標準パターンで重みを付けて合計すると、ある値が得られます。仮にその合計が87だとすると、87 mod 10 = 7となり、チェックデジット = (10 − 7) mod 10 = 3 — つまり完全なEAN-13コードは6901234567893になります。最初の12桁のうちどれか1桁を変えると、同じ計算式で異なるチェックデジットが導き出され、スキャナーはそれを不一致として検出します。
これこそがチェックデジットが存在する理由です:これはエラー検出の仕組みであり、セキュリティ機能ではありません。現実で最もよく起こる不具合 — 汚れや印刷不良、角度の問題によってバーコードスキャナーが1桁を誤読すること — を捉えます。1桁だけの変化はほぼ必ず重み付き合計の計算を崩すからです。読み取った桁が期待されるチェックデジットを生成しない場合、スキャナーは誤った商品番号を黙って受け入れるのではなく、読み取りを拒否して再スキャンを求めます。
バー自体は、EAN-13仕様で定められた実際のL/G/Rモジュール幅テーブルを使って描画されるため、物理的なバーコードスキャナーは、印刷された小売用バーコードを読み取るのとまったく同じ方法でこれを読み取ります。
知っておきたいこと
- UPC-Aは構造上、先頭に暗黙の0が付いたEAN-13コードです — 12桁のUPC-Aコードと、その先頭に「0」を付けた13桁のEAN-13コードは、同一のバーコードパターンとしてスキャンされます。これが、EAN-13対応スキャナーが変更なしにUPC-Aコードも読み取れる理由です。
- チェックサムが確実に検出できるのは1桁の誤読だけです — ある番号が実際の商品に正規に割り当てられていることまでは保証しません。その割り当てを行うのは計算式ではなくGS1です。
- 正規のEAN/UPCプレフィックスは、GS1または各地域の加盟団体から企業に対して発行されます — このツールは入力されたどの桁の並びに対しても数学的に正しいバーコードを描画しますが、正しいパターンを描くことと、実際の商品番号を登録することは同じではありません。
よくある質問
チェックデジットは正確にはどう計算されますか?
桁は左から右へ交互に1倍と3倍され、結果が合計されます。チェックデジットは、その合計を次の10の倍数に切り上げる値です:チェックデジット = (10 − (合計 mod 10)) mod 10。このツールは、入力されたどの桁に対してもこの計算を自動的に適用します。
チェックデジットは実際には何から守っているのですか?
汚れや印刷不良、スキャン角度の問題による1桁の誤読からです。コード中のどの1桁を変えても、必要なチェックデジットはほぼ必ず変化するため、スキャナーはその不一致を検出し、誤った商品番号を受け入れる代わりに読み取りを拒否できます。
本物の商品番号はどこで取得できますか?
正規のEAN/UPCプレフィックスは、GS1(または各地域の加盟団体)から企業に対して発行されます。このツールは入力された桁に対して正しいバーコードを描画しますが、番号自体を登録するわけではありません — 実際の小売商品として使うには、GS1から発行されたプレフィックスが必要です。
UPC-AとEAN-13はどのような関係にありますか?
UPC-Aは構造上、先頭に暗黙の0が付いたEAN-13です — 12桁のUPC-Aコードと、その先頭に「0」を付けた13桁のEAN-13コードは、どちらも同じバーコードパターンとしてスキャンされます。これが、EAN-13対応スキャナーがUPC-Aコードも読み取れる理由です。
チェックデジットは起こりうるすべてのエラーを検出できますか?
いいえ — 実際の現場で最もよく起こる誤読である1桁の置き換えミスは確実に検出しますが、これは軽量な算術チェックであり、暗号学的なチェックではありません。そのため、複数のエラーが同時に発生するあらゆる組み合わせを検出するようには設計されていません。
関連ツール
問題を報告
EAN-13 / UPC-Aバーコード生成ツール
コメント
まだコメントはありません — 最初のコメントを書いてみましょう!