JANコード 13桁 8桁 違いとは?構造・用途・選定基準・計算式を徹底解説
結論
JANコード 13桁 8桁 違いを理解するうえで重要なのは、両者が単に長さの異なる番号ではなく、国際標準のバーコード規格(GTIN)に基づく識別コードである点です。よくある誤解として「13桁のコードを省略すれば8桁になる」というものがありますが、これらは構造や発番の仕組みが根本的に異なります。本記事では、両者のデータ構造の違いからパッケージ印刷における選定基準、チェックデジットの算出ロジックまで実務的な視点で詳しく解説します。
JANコード13桁(標準タイプ)と8桁(短縮タイプ)の根本的な違いとデータ構造
JANコードは、流通システムやPOSシステムにおいて商品の識別を行うために使用されるコードです。日本国内ではEANコードと互換性があり、主に「標準タイプ(13桁)」と「短縮タイプ(8桁)」の2種類が存在します。JANコード 13桁 8桁 違いを把握するには、それぞれの構造と使用条件を区別することが大切です。
重要なポイントとして、8桁の短縮タイプは単に13桁のコードの末尾を削ったものではなく、GS1 Japanなどの登録機関が定めるルールに基づき、短縮タイプ用の番号として登録・割り当てを受けるものである点が挙げられます。
- 13桁(標準タイプ / EAN-13)の構造:国コードに相当するGS1プレフィックス、GS1事業者コード、商品アイテムコード、チェックデジットで構成されます。各部分の桁数は、割り当てられた事業者コードなどによって異なります。多くの一般消費財やパッケージで採用されています。
- 8桁(短縮タイプ / EAN-8)の構造:GS1プレフィックス、商品アイテムコード、チェックデジットの合計8桁で構成されます。通常の13桁JANコードと同じ番号を単純に短縮したものではなく、短縮タイプ用の番号が割り当てられます。
このように、データ構造上の最大の差異は「番号の構成と各部分の桁数」にあります。JANコード 13桁 8桁 違いを確認する際は、数字の長さだけでなく、コードの付与状況や適用規格も確認しましょう。
13桁と8桁の使い分け基準:パッケージ印刷面積とクワイエットゾーン
短縮タイプ(8桁)は、どのような商品にも自由に使えるわけではありません。日本国内および国際ルールにおいて、短縮タイプの適用には条件が定められています。
短縮タイプの申請・採用基準
短縮タイプ(8桁)のバーコードを利用できるのは、原則としてパッケージの表面積が小さく、13桁の標準タイプを表示する十分な印刷スペースを確保できない小型商品に限られます。例えば、小さな化粧品容器やチューインガムの個包装などが該当する場合があります。大きなパッケージの商品に対して、デザイン上の理由だけで勝手に短縮タイプを使用することはできません。実際の採用にあたっては、登録条件や適用規格を確認してください。
印刷スペースとクワイエットゾーン(余白)
バーコードを正常に読み取るためには、バーコード本体の左右に必要な空白(クワイエットゾーン)を確保する必要があります。13桁の標準タイプを縮小して印刷すると、バーの細線がスキャナーで識別できなくなるリスクが高まります。そのため、極小のパッケージでは、必要な印刷スペースやバーコードの最小サイズ規格を確認したうえで、8桁の短縮タイプが適切か検討します。
デザイン設計の際は、モジュール幅(バーの最も細い線の幅)や拡大縮小率の制限、周囲の余白確保を考慮して選定を行う必要があります。バーコードの種類や基本的な仕組みについては、無料バーコード作成・一括生成ツールプロ|JAN・CODE39・ITF・QR対応も参考にしてください。
【モジュラス10】13桁と8桁のチェックデジット計算ロジックの違い
JANコードの末尾1桁には、バーコードの読み取りミスを検出するための「チェックデジット」が含まれています。13桁・8桁ともに「モジュラス10・ウェイト3:1」と呼ばれる共通のアルゴリズムを使用します。桁数が異なるため、チェックデジットを除いた数字に重みを割り当てる位置を正しく判断する必要があります。
チェックデジットの算出手順(共通の基本ロジック)
- 右端のチェックデジットを除いた数字を対象とします。(13桁なら12桁、8桁なら7桁です)
- 右端から数えて、1つおきに数字へ「3」と「1」の重みを交互に割り当てます。チェックデジットを除いた数字の右端から「3」を掛け、左へ向かって「1」と交互に計算します。
- 重みを掛けた結果をすべて合計します。
- 合計を「10」で割った余りを求めます。
- 「10-余り」を計算し、その一の位をチェックデジットとします。余りが0の場合はチェックデジットも0です。
例えば、13桁のJANコードでチェックデジットを除いた12桁の数字の加重合計が123だった場合、123を10で割った余りは3です。そのため、チェックデジットは10-3=7となります。この計算はチェックデジットの仕組みを示す例であり、実際の商品コードの付与状況を保証するものではありません。
データベース設計やアプリケーション開発において、桁数違いによる検証エラーを防ぐためには、入力された文字列が13桁か8桁かを正しく判定し、それぞれの桁数に応じたループ処理と重みの計算を実装することが重要です。
データベース設計とシステム運用での注意点(桁数の正規化と誤解防止)
JANコードを商品マスターやPOSシステムで管理するときは、13桁と8桁を単なる数字として扱わず、コードの種類と桁数を正しく保持することが重要です。登録時の変換やデータ連携の設定を誤ると、商品を識別できない、別の商品として登録される、スキャナーで読み取った値と商品マスターが一致しないといった問題につながります。
商品マスターでは文字列型で管理する
JANコードは数量を表す数値ではなく、商品を識別するための番号です。そのため、データベースではVARCHARやCHARなどの文字列型で保存する方法が適しています。特に、先頭のゼロを含むコードを扱う場合、数値型に変換するとゼロが失われるおそれがあります。
| 管理項目 | 推奨する扱い | 注意点 |
|---|---|---|
| JANコード | 文字列型で保存 | 数値への自動変換を避ける |
| コード種別 | 必要に応じて別項目で管理 | 13桁と8桁の区別を明確にする |
| 入力チェック | 桁数と数字の形式を検証 | 桁数だけで有効なコードとは判断しない |
| 重複チェック | 定めた識別ルールで照合 | 異なる表記を同じコードとして扱う条件を定義する |
前ゼロ埋めは目的を確認してから行う
システム間の連携で、すべてのコードを同じ桁数にそろえるために前ゼロ埋めを行うケースがあります。ただし、8桁のJANコードにゼロを追加して13桁にしても、それだけで正規の13桁JANコードに変換できるわけではありません。
例えば、8桁のコード「12345670」を文字列として保持する必要がある場合、数値型に変換すると先頭ゼロがあるデータでは元の表記を復元できなくなる可能性があります。元のコードはそのまま保存し、外部システムが別の形式を要求する場合は、変換ルールを仕様として明確に定めましょう。
インストアコードとJANコードを混同しない
店舗内で独自に割り当てるインストアコードは、メーカーなどが商品に付与するJANコードとは管理上の位置付けが異なります。見た目の桁数やバーコードの形式だけで同じ種類の番号と判断すると、商品マスターの登録やPOSでの照合に支障が出ることがあります。
- ソースマーキングの商品は、商品に付与されたJANコードを確認して登録する。
- 店舗独自のインストアコードは、通常のJANコードと区別できる管理ルールを設ける。
- CSVやAPIで連携する際は、コードの桁数、文字列型、先頭ゼロの保持方法を送受信側で統一する。
- 新しい商品コードを登録したら、商品マスターと実際のバーコードの内容が一致するか確認する。
データ連携の仕様を整理したい場合は、コードの桁数や保存形式をシステム間で統一し、利用するシステムの入出力形式に合わせて設計してください。
JANコードの運用では、桁数だけを変更すれば解決すると思い込んだり、コードを自由に割り当てられると考えたりすることで、登録ミスや印刷のやり直しが発生する場合があります。代表的な誤解と確認方法を整理します。
| よくある誤解・トラブル | 実際に確認すべきこと | 対処方法 |
|---|---|---|
| 8桁のJANコードは、13桁を短くしただけである | コードの種類と付与された番号を確認する | 既存コードを独自に切り詰めず、正しい規格のコードを使用する |
| 8桁にゼロを追加すれば13桁として使える | 変換後の番号が正規のコードとして認められるか確認する | 桁数合わせとコードの新規付与を区別する |
| 13桁・8桁の番号は自社で自由に割り当てられる | GS1事業者コードや商品アイテムコードの割り当てルールを確認する | 必要な登録手続きと利用条件に従う |
| チェックデジットが正しければ、商品コードとして有効である | 桁数、チェックデジット、コードの付与状況をそれぞれ確認する | 計算結果だけでなく、コード自体の正当性も確認する |
| バーコードが印刷されていれば必ず読み取れる | 印刷品質、サイズ、余白、コントラストを確認する | 実際の印刷物をスキャナーでテストする |
| 桁数を変えても既存の包装をそのまま使える | バーコードの寸法、配置、余白、商品マスターへの登録内容を確認する | 版下やラベルの修正が必要か、印刷前に検証する |
| スキャナーで読めない原因は桁数だけである | バーコードの規格、印刷状態、読み取り機器の対応状況を確認する | コードの形式と印刷品質を分けて切り分ける |
印刷や読み取りで問題が起きたときの確認手順
- 元データを確認する:商品マスターのJANコードと、印刷データに設定した番号が一致しているか確認します。
- 桁数とチェックデジットを検証する:13桁または8桁の形式に合っているか、末尾のチェックデジットが正しいかを確認します。
- バーコードの規格を確認する:番号の桁数に対応するバーコード形式を選択しているか確認します。
- 印刷物を確認する:縮小や拡大によってバーの幅が変わっていないか、左右の余白が確保されているかを確認します。
- 実機で読み取る:使用するスキャナーやPOSシステムで読み取り、商品マスターとの照合までテストします。
コードの変更が必要になった場合は、印刷済みの包装やラベル、商品マスター、取引先への登録情報など、影響する範囲を事前に洗い出しましょう。桁数だけを変更して再印刷すると、既存データとの不一致や追加コストが発生する可能性があります。
JANコード 13桁 8桁 違いは、単純に長さが異なるだけではなく、それぞれに対応する規格と利用条件がある点にあります。商品に付与されたコードを正しく管理し、用途に合ったバーコード形式を選ぶことが、商品登録やPOS連携、印刷時のトラブル防止につながります。
- 通常の商品管理では、付与されたJANコードの桁数と内容をそのまま保持する。
- 8桁への変更や13桁への変換を、単なるゼロ埋めや切り詰めで処理しない。
- 商品マスターでは文字列型を利用し、先頭ゼロやコード種別を適切に管理する。
- 生成したバーコードは、チェックデジットの検証に加え、実際の印刷物と読み取り機器で確認する。
次のステップとして、使用する商品コードと必要な規格を確認したうえで、1次元バーコード作成ツールなどを利用してバーコードを作成し、印刷前に読み取りテストを行いましょう。コードの新規取得や変更が必要な場合は、先に適用される規格と割り当て条件を確認してください。
参考資料
JANコードは13桁と8桁のどちらを使えばよいですか?
商品に付与されたコードと適用される規格に従って選びます。包装が小さいという理由だけで、既存の13桁コードを8桁に変更することはできません。
JANコードは8桁でも正式なコードですか?
はい。8桁のJANコードは短縮タイプとして利用されます。ただし、対象商品や付与条件を確認し、正規の手続きに従って使用する必要があります。
13桁のJANコードを8桁に短縮できますか?
単純に末尾を削除するなどの方法で短縮することはできません。8桁のコードが必要な場合は、適用される規格とコードの付与条件を確認してください。
8桁のJANコードに先頭ゼロを追加すると13桁になりますか?
文字列上の桁数は増やせますが、それだけで正規の13桁JANコードになるわけではありません。元のコードと規格を維持して管理してください。
JANコードの先頭ゼロが消えるのはなぜですか?
表計算ソフトやデータベースがコードを数値として処理すると、先頭のゼロが省略されることがあります。文字列型で保存し、インポート時にも文字列として取り込んでください。
13桁と8桁のJANコードは同じスキャナーで読めますか?
対応するバーコード形式を読み取れる機器であれば利用できますが、機器や設定によって対応状況は異なります。実際に使用するスキャナーやPOSシステムで事前に確認してください。
小さい商品には必ず8桁のJANコードを使いますか?
必ずしもそうではありません。商品パッケージの寸法や印刷条件を確認し、適用される規格とコードの付与条件に従って判断します。