JANコードは小売・物流・ECの基盤となる商品識別子(バーコード)です。本記事では、JANコードの意味、GTIN との関係、13桁/8桁の違い、チェックデジット計算、取得手順、印刷・運用の実務ポイントまで、初めての方にも分かるように整理します。
JANコードの基本
- JANコードは、日本で広く使われる商品識別用バーコードの総称。
- 国際規格では EAN / GTIN と呼ばれ、実体は GTIN-13(13桁) と GTIN-8(8桁)。
- POSレジ、在庫管理、物流、EC商品登録などで商品を一意に特定するために利用されます。
- 日本の流通では先頭が 45 / 49 で始まる番号帯が広く見られます(GS1プレフィックス)。
JAN(GTIN)とUPC/EANの関係
- GTIN(Global Trade Item Number)は、商品識別番号の総称。
- GTIN-13 = EAN-13 = JAN(一般的に日本での呼び方)。
- GTIN-8 = EAN-8(小さなパッケージ向けの短縮版)。
- UPC(GTIN-12)は主に北米で使用。システム上は相互運用が可能です。
桁構成(GTIN-13 の例)
- 事業者コード(GS1が企業に付与)
- 商品アイテムコード(企業が自社内で採番)
- チェックデジット(最後の1桁:読み取り誤り検出用)
GTIN-8 も同様の考え方で、短縮版の8桁構成です。
チェックデジットの求め方
GTIN-13(13桁)
- 右端のチェック桁を除く12桁を使う
- 右から奇数位×3、右から偶数位×1で加重合計
- 合計の下一桁を10 から引いた値(結果が10なら0)
例:490123456789?
右から奇数位×3+偶数位×1の合計 → チェック桁は 4
よって 4901234567894
GTIN-8(8桁)
同様に右から奇数位×3、偶数位×1。
例:4901234? → チェック桁は 7
よって 49012347
実装のための短いコード(例:JS/PHP)は本記事末尾に掲載。
取得手順(正規のJANを自社で発行するには)
- GS1 Japan に加入申請
- 事業者コードの付与を受ける
- 自社ルールに沿って商品アイテムコードを採番
- チェックデジットを算出してGTIN完成
- パッケージにバーコードを印刷(適正サイズ・静かな余白・コントラストを確保)
※ 費用・申請要件は変動するため、最新情報はGS1 Japanの公式案内を確認してください。
印刷・表示の実務ポイント
- 等倍比で拡大縮小:縦横比を崩さない(歪みは読取不可の原因)。
- 静かな余白(クワイエットゾーン)を左右に確保。罫線や文字重ねは避ける。
- 充分な印字コントラスト(バー濃色/背景淡色)。
- 推奨倍率レンジ(例:80〜200%)を目安に。高精細印刷を選ぶ。
- 版下データはベクター推奨(EPS/SVG など)。
- 可読数字(ヒューマンリーダブル)をバーの下に表示して照合可能に。
外箱・ケースで使うバーコード
- 出荷用外箱などには ITF-14(GTIN-14) を用いるのが一般的。
- 小売向けの単品JAN(GTIN-13/8)とは用途が異なります。
EC・小売での活用チェックリスト
- ECモール・検索最適化(GTIN登録で露出や一致精度が向上)。
- 価格改定・在庫更新の自動化(POS/基幹連携)。
- 同一商品の重複登録・誤登録の防止。
- 倉庫入出荷・棚卸のスキャン効率化。
よくある質問
Q. 自社内だけで使うなら勝手に番号を作っていい?
A. 社内限定の管理番号は自由ですが、流通・ECに出すJANはGS1のルールに従い一意性を確保してください。
Q. 同じ番号を別商品の改版で再利用してよい?
A. 一般に再利用は推奨されません。旧商品データとの混同が起きます。
Q. 英字や記号を含むコードは使える?
A. JAN(EAN)は数字のみです。英字や可変長を扱うなら Code 128 など他規格を選定します。
失敗しない採番ルール例
- 桁割り(社内区分・年・シリーズ・色/サイズなど)を事前定義
- 改版/セット品/バリエーションで新番号を付与する基準を明文化
- 廃番後も履歴保全(再利用禁止)
- 採番〜印刷〜基幹登録までの承認フローを一本化
すぐ使えるチェックデジット計算コード
JavaScript(GTIN-13)
function gtin13CheckDigit(first12) {
const s = String(first12);
if (!/^\d{12}$/.test(s)) throw new Error('12桁の数字が必要です');
let total = 0;
// 右から奇数位×3、偶数位×1
for (let i = 0; i < 12; i++) {
const d = Number(s[11 - i]);
total += (i % 2 === 0) ? d * 3 : d;
}
return (10 - (total % 10)) % 10;
}
// 例: '490123456789' -> 4 => '4901234567894'
PHP(GTIN-13)
function gtin13_check_digit(string $first12): int {
if (!preg_match('/^\d{12}$/', $first12)) {
throw new InvalidArgumentException('12桁の数字が必要です');
}
$total = 0;
for ($i = 0; $i < 12; $i++) {
$d = (int)$first12[11 - $i];
$total += ($i % 2 === 0) ? $d * 3 : $d;
}
return (10 - ($total % 10)) % 10;
}
まとめ
- JAN=日本でのEAN/GTINの呼称。主に GTIN-13 と GTIN-8 を使用。
- 構成は「事業者コード+商品コード+チェックデジット」。
- 自社で正規発行するには GS1 Japan で事業者コード取得が必要。
- 印刷は静かな余白・コントラスト・等倍比を守り、ECや基幹と連携して効果を最大化。

コメント