zplCloud Blog
GS1 Sunrise 2027: レジに 2D バーコード – ZPL ラベルにいま必要なこと
2027 年末までに、世界中の小売店のレジが GS1 DataMatrix と GS1 Digital Link 付き QR コードを読めるようにすることが目標です。EAN-13 は残ります。すべてのルールを出典付きで示し、^BQ と ^BX の検証済み ZPL 例と、既存テンプレートを自動で移行する方法を紹介します。
2027 年末までに、レジは 2D を読めるようになる
2027 年末までに、世界中の小売店のレジスキャナーが EAN/UPC に加えて 3 種類の 2 次元バーコード、つまり GS1 DataMatrix、GS1 Digital Link 付き QR コード、GS1 Digital Link 付き Data Matrix を読めるようにすることが目標です。GS1 US はこれを「Sunrise 2027」、GS1 グローバルは「Ambition 2027」と呼んでいます。EAN-13 はそのまま残り、2 次元コードの印刷を義務付けられる人はいません。2 次元コードを追加する場合は、同じ GTIN で 1 次元バーコードの横に配置し、GS1 General Specifications の Xディメンション、クワイエットゾーン、配置に関するルールに従います。この記事では、すべてのルールを出典付きで示し、^BQ と ^BX の検証済み ZPL 例、変更前後のラベル、既存テンプレートを自動でチェックして移行する方法を紹介します。
要点: 2027 年は小売スキャナーの目標であり、EAN の廃止日ではありません。移行期間中、2 次元コードはパッケージに追加するもので、1 次元バーコードの代わりにはなりません。203 dpi の ZPL では、モジュールサイズ 4〜7 ドット、QR コードの周囲に 4 モジュールのクワイエットゾーン、EAN の中心から 50 mm 以内ということになります。
Sunrise 2027 とは何か、何ではないか
最も明確な表現は、GS1 のスキャナー対応状況のページにあります。業界は、2027 年末までに、すべての小売 POS システムが、既存の 1 次元バーコードに加えて、GS1 標準に基づく所定の 2 次元バーコード群を読み取り、処理できるようにするという目標を掲げています。グローバル導入ガイドライン (Release 1.1.0、2025 年 12 月) は最低限の要件を具体的に示しています。POS は、GS1 準拠の 1 次元または 2 次元バーコードのいずれからでも GTIN を識別してデコードし、ビープ音を 1 回鳴らし、その 1 つの GTIN を送信しなければなりません。これがスキャンモード 1 で、2027 年の最低要件です。
レジでの使用が認められている 2 次元バーコードは、次の 3 種類だけです。
| 2 次元バーコード | 内容 (構文) | シンボル体系識別子 |
|---|---|---|
| GS1 DataMatrix | FNC1 を使う GS1 エレメントストリング構文、例: (01)…(17)…(10)… | ]d2 |
| GS1 Digital Link 付き QR コード | GS1 Digital Link URI 構文に従う Web アドレス | ]Q1 |
| GS1 Digital Link 付き Data Matrix | GS1 Digital Link URI 構文に従う Web アドレス | ]d1 |
Sunrise 2027 が意味しないこと:
- EAN-13 はなくならない。 グローバルガイドラインは、EAN/UPC や GS1 DataBar などの 1 次元バーコードは「なくなることはなく、用途がある限り 2 次元バーコードと共存する」としています。GS1 Germany、GS1 Austria、GS1 Switzerland も同じ見解です。
- 2027 年に 2 次元コードの印刷を義務付けられる人はいない。 GS1 Germany は、1 次元バーコードのままでいたい企業は 2 次元コードを追加する必要はないとしています。GS1 US は「その日までに 2D のすべての機能を実装する必要はない」と強調しています。
- 2 次元コードはまだ 1 次元バーコードの代わりにはならない。 GS1 General Specifications 26.0 のセクション 4.15.4 によると、GS1 DataMatrix、QR コード、または Digital Link 付き Data Matrix は、EAN/UPC または GS1 DataBar に加えて使用しなければなりません (SHALL)。ガイドラインはしきい値を示しています。POS スキャンソリューションの 90% が GS1 準拠の 2 次元バーコードを処理できるようになって初めて、1 次元バーコードを省略できます。その時期は決まっていません。
- 法律ではない。 GS1 は任意で採用される標準を策定しています。義務が生じるのは、小売業者の要件か、ヘルスケアなど各分野独自の規制による場合だけです。
GS1 Germany の古い FAQ PDF (2022 年 11 月時点) には、2028 年からブランドオーナーが EAN と 2 次元コードのどちらかを選ぶと書かれていました。現在の文書は、1 次元バーコードの省略を特定の年ではなく 90% のしきい値に結び付けています。基準となるのは General Specifications 26.0 とガイドライン 1.1 です。
スケジュールとマイルストーン
| 時期 | 内容 | 出典 |
|---|---|---|
| 2021 | GS1 グローバル総会が POS での 2D 移行を決定 | GS1 Switzerland、FAQ |
| 2022 年 2 月 | ドイツ語ガイド「Migration auf 2D Codes am POS」第 1.1 版 (GS1 AT と GS1 DE) | GS1 Austria |
| 2025 年 11 月 | 導入ガイドラインのドイツ語訳、第 1.1 版 | GS1 Germany |
| 2025 年 12 月 | 2D Barcodes at Retail Point-of-Sale Implementation Guideline、Release 1.1.0 | GS1 |
| 2026 年 1 月 | GS1 General Specifications Release 26.0、POS での 2D に関する表 5-46 を収録 | GS1 |
| 2026 年 7 月 | ポジションペーパー 2.0.0: プライベートブランドと店内ラベル貼付商品の単一 2 次元バーコード | GS1 |
| 2026 年 8 月 | GS1 Digital Link URI Syntax 1.7.0 | GS1 |
| 2027 年末 | 目標: POS が 3 種類すべての 2 次元バーコードから GTIN を読み取る (最低でもモード 1) | GS1 |
| その後 | ブランド商品の 2D のみの表示は、POS スキャンソリューションの 90% が 2D 対応になってから | GS1 ガイドライン 1.1、セクション 4.1 |
GS1 は継続的に更新されるリストを公開しており、スキャナー、検証器、プリンター、バーコードソフトウェアのメーカーが「2D capable」基準に対する状況を報告しています。執筆時点のリストの日付は 2026 年 10 月 8 日でした。掲載されているプリンターメーカーには Zebra や TSC があります。
地域別の状況: 米国、DACH、その他の地域
米国。 GS1 US はこのテーマを「Sunrise 2027」として進めており、crawl-walk-run (はう、歩く、走る) という段階的なアプローチを推奨しています。ブランド向け: まず既存のパッケージに 2 次元バーコードを追加し、既存の QR コードを GTIN 入りの GS1 Digital Link に更新する。次にバリエーションや製造日、有効期限などのデータを追加する。最後に 2D を消費者とのエンゲージメントに活用する。小売業者向け: まず 2D を読み取って POS で GTIN を抽出できる Sunrise 対応スキャナーを導入する。次にプライベートブランドに 2D を追加する。最後に安全性、トレーサビリティ、在庫を最適化する。GS1 US の 2025 年の消費者調査では、79% が追加の商品情報を提供するスキャン可能な QR コード付きの商品のほうを購入する可能性が高いと回答しました。
ドイツ。 GS1 Germany は、移行期間中の二重表示を「in der Regel sinnvoll beziehungsweise erforderlich」(通常は妥当、または必要) としています。まだすべてのレジシステムが 2D を処理できるわけではないためです。最初の POS 事例として dm と Beiersdorf を挙げています。GS1 Germany の 5 項目チェックリストは、1 つのユースケースと 1 つの商品グループから始め、印刷、読み取りやすさ、システム連携を定期的にテストするよう勧めています。
オーストリア。 GS1 Austria は、2 次元コードは従来の 1 次元バーコードを置き換えるのではなく補完するものであり、現在の移行段階では 2 次元コードの横に 1 次元バーコードが必要だとしています。2 次元コードを読み取れるのはイメージ方式のスキャナーだけで、従来のレーザースキャナーでは読めません。
スイス。 GS1 Switzerland は、EAN/UPC バーコードは 2027 年を過ぎても長く小売の現場に残るとしています。レジの技術については、スイスのほとんどの POS システムはすでに 2 次元コードをスキャンでき、ソフトウェア更新だけで済む場合も多いと述べています。
その他の地域。 GS1 によると、移行は世界各地で異なるスケジュールのもと段階的に進みます。事例として、オーストラリアの Woolworths、ブラジルのデリカテッセン Parla Deli、タイの 7-Eleven を紹介しています。
影響を受けるのは誰か
| 対象 | やるべきこと |
|---|---|
| ブランドオーナー | 2 次元バーコードを付けるか、どの商品にどれを付けるかを決め、Digital Link のドメインを決定し、パッケージとラベルを調整する。 |
| 小売業者 | スキャナーソフトウェアをモード 1〜3 のいずれかに設定し、POS ソフトウェアを追加データに対応させ、バーコードが 2 つあっても 1 商品につきビープ音は 1 回にする。 |
| ラベル印刷と IT | ZPL テンプレート、計量器ラベルと生鮮ラベル、プリンター解像度、ロットと日付のデータソース。 |
| ソフトウェアおよびプリンターのベンダー | GS1「2D capable」基準: ]d2、]d1、]Q1、シンボル仕様表に基づく Xディメンション、クワイエットゾーン、印刷品質。 |
| ヘルスケアと医薬品 | 引き続き GS1 DataMatrix を使用。下記参照。 |
店内ラベル貼付商品が最も早く効果の出る分野。 GS1 の 2026 年 7 月のポジションペーパーは、惣菜やベーカリー製品、プライベートブランドを、小売業者がすでに単一の 2 次元バーコードで運用できる分野として挙げています。ラベル、スキャナー、POS を小売業者自身が管理しているためです。前提条件は最低でもスキャンモード 2 です。こうしたラベルは計量器やラベルプリンターから出力されることが多く、ZPL であることも少なくありません。
ヘルスケア。 この業界では 2000 年代初めに、GS1 DataMatrix を唯一の 2 次元バーコードとして採用しました。ガイドラインによると、小売店のレジでスキャンされるヘルスケア製品でも、GS1 DataMatrix が推奨される 2 次元バーコードです。ヘルスケア分野では、GS1 Digital Link は 2 次元バーコードにエンコードされません。米国では FDA が医療機器に UDI を求めています。UDI はデバイス識別子と製造識別子 (ロット、シリアル番号、有効期限または製造日) で構成され、プレーンテキストと機械可読形式の両方で表示します。処方薬については、DSCSA が製品識別子 (シリアル番号、ロット、有効期限を含む NDC ベースの番号) を定めており、パッケージ上の 2 次元 Data Matrix バーコードに表示されます。Sunrise 2027 は、これらの義務を何も変えません。
2D がレジにもたらすもの
EAN-13 が持てるのは GTIN だけです。2 次元バーコードには、バッチ/ロット、有効期限または賞味期限、シリアル番号も入れられます。GS1 ガイドラインが挙げるユースケースには、次のようなものがあります。
- 有効期限がバーコードに入っているので、期限切れ商品の販売をレジで止められます。
- 商品全体ではなくロット単位での対象を絞ったリコール。
- 食品ロスの削減と、日付に基づく自動値下げ。GS1 Germany によると、Woolworths は食品ロスが最大 40% 減ったと報告しています。
- 消費者への情報提供: GS1 Digital Link 付き QR コードは、スマートフォン標準のカメラで Web ページを開けると同時に、レジでもスキャンできます。
- デジタル製品パスポート: 欧州委員会によると、QR コードなどのデータキャリアが実物の製品とその DPP を結び付けます。一部のバッテリーでは 2027 年 2 月 18 日に DPP が義務化され、繊維製品、アルミニウム、タイヤの委任法令は 2027 年に予定されており、その後に最低 18 か月の移行期間が続きます。詳しくは記事 GS1 QR コードとデジタル製品パスポート: レジにもお客様にも、コードは 1 つで をご覧ください。
GS1 Digital Link URI の構造
https://example.com/01/09506000134352/10/L2610A?15=271231
└──────┬──────────┘└──────┬─────────┘└───┬────┘└───┬────┘
ドメイン (+ パス) 主キー 修飾子 属性
(01) GTIN-14 (10) ロット (15) 賞味期限
GS1 Digital Link URI Syntax 1.7.0 (2026 年 8 月) のルール:
- ドメインは自由。 ドメインと
/01/の間には、https://example.com/gs1/01/…のように独自のパスセグメントをいくつでも置けます。GS1 はブランドオーナーに自社ドメインの使用を推奨しています。https://id.gs1.orgは GS1 のリファレンスドメインです。 - GTIN は常に 14 桁。 バージョン 1.4.0 以降、GTIN-13 には先頭にゼロを 1 つ付けます。EAN
9506000134352は/01/09506000134352になります。 - キー修飾子はパスに、決まった順序で: GTIN の場合は
/22/(消費者向け商品バリエーション)、/10/(バッチ/ロット)、/21/(シリアル番号) の順です。/21/…/10/…は無効です。 - 属性はクエリ文字列に:
15(賞味期限) や17(有効期限) などの日付は?15=271231のように記述します。 - 短縮形は使えない。
/01/の代わりに/gtin/を使うような「convenience alphas」は、バージョン 1.3.0 で削除されました。 - 非圧縮。 General Specifications の表 5-46 により、レジで使う URI は非圧縮形式でなければなりません。
| URI | 有効か |
|---|---|
https://example.com/01/09506000134352 | 有効、GTIN のみ |
https://example.com/gs1/01/09506000134352/10/L2610A?15=271231 | 有効、独自パス、ロット、賞味期限 |
https://example.com/01/9506000134352 | 無効、GTIN が 13 桁しかない |
https://example.com/01/09506000134352/21/0001/10/L2610A | 無効、ロットはシリアル番号より前に置く必要がある |
https://example.com/gtin/09506000134352 | 無効、短縮形は削除済み |
GS1 ガイドラインからのヒント: QR コードでは、数字と大文字のほうが小文字や特殊文字より場所を取りません。ロット番号を自社で採番する場合は、数字か大文字だけにしておきましょう。
GS1 DataMatrix、Data Matrix、QR コードのどれを選ぶか
上の 3 つのバーコードはいずれも GTIN、ロット、賞味期限を持ち、203 dpi で 1 モジュール 4 ドット (0.50 mm) で印刷しています。GS1 DataMatrix は 18 × 18 モジュールで、9.0 mm です。Digital Link 付き Data Matrix は 26 × 26 モジュール (13.0 mm)、QR コードは 33 × 33 モジュール (16.5 mm) が必要です。この記事のバーコードはすべて zplCore と Labelary でレンダリングし、ZXing でデコードしました。どちらのレンダラーも同じデータと位置を返します。
| 比較項目 | GS1 DataMatrix | QR コード + Digital Link | Data Matrix + Digital Link |
|---|---|---|---|
| スマートフォンのカメラで Web ページが開く | いいえ、アプリが必要 | はい | いいえ、アプリが必要 |
| 同じ内容でのサイズ | 最小 | 最大 | 小さい |
| ヘルスケア | 世界的に承認 | 対象外 | 対象外 |
| POS スキャナー | 多くは有効化するだけ | ソフトウェア更新が必要 | ソフトウェア更新が必要 |
結論: 消費者にスキャンしてもらいたいなら Digital Link 付き QR コード。スペースが限られている場合、Web リンクが不要な場合、ヘルスケア製品の場合は GS1 DataMatrix。Digital Link 付き Data Matrix は、Web リンクが必要な小さなパッケージ向けの中間的な選択肢です。
印刷品質: Xディメンション、クワイエットゾーン、配置、HRI
寸法は GS1 General Specifications、Release 26.0 (2026 年 1 月)、セクション 5.12.3.1、表 5-46「Symbol specification table 1 addendum 2 for 2D barcodes」 に記載されています。この表は、小売 POS でスキャンされる取引商品に適用されます。
| 2 次元バーコード | Xディメンション最小 | 目標 | 最大 | クワイエットゾーン | 最低品質 |
|---|---|---|---|---|---|
| GS1 DataMatrix (ECC 200) | 0.396 mm | 0.495 mm | 0.990 mm | 四辺すべて 1X | 1.5/12/660 |
| Data Matrix (GS1 Digital Link URI) | 0.396 mm | 0.495 mm | 0.990 mm | 四辺すべて 1X | 1.5/12/660 |
| QR コード (GS1 Digital Link URI) | 0.396 mm | 0.495 mm | 0.990 mm | 四辺すべて 4X | 1.5/12/660 |
したがって、2 次元バーコードのモジュールは 1 次元バーコードの Xディメンションの 1.5 倍になります。一般流通でもスキャンされる商品には表 5-49 (シンボル仕様表 3 補遺 1) が適用され、0.743〜0.990 mm です。
ZPL では、Xディメンションは整数のドット数です。そのため、許容されるモジュールサイズは次のとおりです (^BQ のパラメーター 3、^BX のパラメーター 2)。
| プリンター解像度 | 1 ドット | 許容されるモジュールサイズ | 目標 0.495 mm に近い値 |
|---|---|---|---|
| 203 dpi (8 ドット/mm) | 0.125 mm | 4〜7 ドット | 4 ドット = 0.500 mm |
| 300 dpi (12 ドット/mm) | 0.085 mm | 5〜11 ドット | 6 ドット = 0.508 mm |
| 600 dpi (24 ドット/mm) | 0.042 mm | 10〜23 ドット | 12 ドット = 0.508 mm |
よくある間違いは、隣の 1 次元バーコードに潜んでいます。表 5-44 では EAN-13 の最小値は 0.264 mm です。203 dpi の ^BY2 は 0.250 mm にしかならず、この最小値を下回ります。条件を満たす最初の設定は ^BY3 (0.375 mm) です。300 dpi では ^BY3 (0.254 mm) は細すぎ、^BY4 (0.339 mm) なら条件を満たします。バーの最小高さもこれに比例します。0.330 mm で 22.85 mm なので、203 dpi で ^BY3 の場合は約 26 mm、つまり 208 ドットです。
その他のルール:
- クワイエットゾーン: Data Matrix の周囲に 1 モジュール、QR コードの周囲に 4 モジュール。ZPL はクワイエットゾーンを描画しないので、テキストや罫線を置かずに空けておく必要があります。
- 配置: GS1 のテストでは、レジで 1 分あたり 40〜70 商品を処理するには、2 次元バーコードを 1 次元バーコードの中心から 50 mm 以内に置くべきことが示されました。
- 同じ GTIN: 1 つの商品上のすべてのバーコードは、同じ GTIN をエンコードしなければなりません (セクション 4.15.1)。
- HRI: HRI (目視可読文字) 付きの EAN-13 の横にある 2 次元バーコードには、独自の HRI は不要です (セクション 4.14.2)。それが唯一のバーコードである場合は、
(01)と 14 桁の GTIN を表示します。 - 検証: 品質は ISO/IEC 15415 に従って測定します。
1.5/12/660は、総合グレードが 1.5 以上、アパーチャ参照番号 12 (0.30 mm)、波長 660 nm を意味します。
ZPL の例、zplCore と Labelary で検証済み
GS1 Digital Link 付き QR コード (^BQ)
^XA
^PW406
^LL406
^FO40,40^BQN,2,4^FDMA,https://example.com/01/09506000134352/10/L2610A?15=271231^FS
^XZ
^BQN,2,4 は、通常の向き、QR モデル 2、1 モジュール 4 ドット (203 dpi で 0.50 mm) を意味します。^FD の最初の 2 文字は、誤り訂正レベル (M = 15%) と入力モード (A = 自動) です。誤り訂正レベルを上げるとシンボルは大きくなります。GS1 は選択を用途に委ねています。このシンボルをデコードすると、シンボル体系識別子 ]Q1 と、まさにこの URI が得られます。位置についての注意: zplCore と Labelary では、QR コードは ^FO 座標から現在の ^BY のバー高さ分 (^BY がなければ 10 ドット) 下から始まるので、配置するときに考慮してください。
FNC1 付き GS1 DataMatrix (^BX)
^XA
^PW406
^LL406
^FO40,40^BXN,4,200,,,,_^FD_101095060001343521527123110L2610A^FS
^XZ
^BXN,4,200,,,,_ は、1 モジュール 4 ドット、品質 200 (ECC 200、GS1 では必須)、エスケープ文字 _ を意味します。先頭の _1 が FNC1 を生成し、これによって Data Matrix が GS1 DataMatrix になります。デコード結果: ]d2 で (01)09506000134352(15)271231(10)L2610A。
この順序には意図があります。GTIN (01) と日付 (15) は固定長なので区切り文字は不要です。ロット (10) は可変長ですが最後に置くので、やはり区切り文字は不要です。可変長の項目が途中にある場合は、その後に区切り文字として _1 を置きます。
^FO40,40^BXN,4,200,,,,_^FD_1010950600013435210L2610A_115271231^FS
データは同じですが、シンボルは 18 × 18 ではなく 20 × 20 モジュールになります。私たち自身がテスト中にしたミスがあります。GTIN の直後に _10L2610A と書くと、ロットではなく FNC1 と「0L2610A」になってしまいます。固定長の項目の後に FNC1 を置くことはありません。
品質パラメーター 200 がないと、^BX は古い ECC 000 タイプを生成し、GS1 としては誤りです。Digital Link 付き Data Matrix (]d1) には FNC1 はまったく不要です: ^BXN,4,200^FDhttps://example.com/01/…^FS。
変更前と変更後: 同じラベルに 2D を追加
元のラベルは 4 × 2 インチ、203 dpi で、EAN-13 だけです。
^XA
^CI28
^PW812
^LL406
^FO40,28^A0N,26,26^FDACME FOODS^FS
^FO40,60^A0N,48,48^FDOat Drink Barista 1 L^FS
^FO40,118^A0N,28,28^FDLOT L2610A BEST BEFORE 31.12.2027^FS
^FO60,150^BY3,3,1^BEN,208,Y,N^FD950600013435^FS
^XZ
zplCore で移行すると (コマンドは後述)、EAN-13 の右に GS1 Digital Link 付き QR コードが追加されます。GTIN は同じで、ロットと賞味期限も含みます。
^FO60,150^BY3,3,1^BEN,208,Y,N^FD950600013435^FS
^FX zplCore GS1 2D migration
^BY3,3,10^FO394,243^BQN,2,4^FDMA,https://example.com/01/09506000134352/10/L2610A?15=271231^FS^BY3,3,1
QR コードは 16.5 mm 角で、1 モジュール 4 ドット (0.500 mm)、クワイエットゾーンは 16 ドットです。中心は EAN-13 の中心から約 33 mm で、50 mm 以内に十分収まっています。zplCore と Labelary では、どちらのバーコードも同じ GTIN 09506000134352 を返します。GTIN 9506000134352 は GS1 のサンプル GTIN、example.com は予約済みのプレースホルダーです。
zplCore でテンプレートをチェックして移行する
zplCore は zplCloud を支える ZPL エンジンです。Sunrise 2027 向けに 2 つのツールを備えています。GS1 ルールに照らした事前チェックと、既存の ZPL ラベルに 2 次元バーコードを追加する移行アシスタントです。どちらもテキストを読むだけでなく、ラベルをレンダリングして印刷される形状を測定します。ドキュメントは コンプライアンス事前チェック と GS1 Digital Link と Sunrise 2027 への移行 にあります。
コマンドラインでの事前チェック
意図的に誤りを入れたラベルです。EAN-13 は ^BY2、QR コードは 1 モジュール 3 ドット、GTIN は 13 桁、シリアル番号がロットより前にあります。
^FO60,150^BY2,3,1^BEN,150,Y,N^FD950600013435^FS
^FO330,170^BQN,2,3^FDMA,https://example.com/01/9506000134352/21/0001/10/L2610A^FS
事前チェックの結果:
$ zplcore comply bad.zpl --pack sunrise --dpi 203
bad.zpl:8:1: error ZPL3210: label 1 ^BE: ^BE encodes GTIN 09506000134352, ^BQ encodes 9506000134352. [GS1 General Specifications 26.0 §4.15.1 rules 2 and 8]
bad.zpl:9:1: error ZPL3202: label 1 ^BQ: Digital Link URI "https://example.com/01/9506000134352/21/0001/10/L2610A": key qualifiers of (01) must be in the order /22, /10, /21 or /235 (each optional, alternatives not mixed). [GS1 Digital Link URI Syntax 1.7.0 (gs1path grammar, qualifier order, 14-digit GTIN, percent-encoding); GS1 General Specifications 26.0 §3, §7.9]
bad.zpl:9:1: error ZPL3202: label 1 ^BQ: Digital Link URI "https://example.com/01/9506000134352/21/0001/10/L2610A": the GTIN has 13 digits; a GS1 Digital Link URI needs 14 (pad GTIN-8/12/13 with leading zeros). [GS1 Digital Link URI Syntax 1.7.0 (gs1path grammar, qualifier order, 14-digit GTIN, percent-encoding); GS1 General Specifications 26.0 §3, §7.9]
bad.zpl:9:1: error ZPL3207: label 1 ^BQ: QR Code (Digital Link) X-dimension 0.375 mm (3 dots at 203 dpi) is outside 0.396–0.99 mm. [GS1 General Specifications 26.0 §5.12.3.1 Table 5-46]
fix: Use a module size of 4–7 dots at 203 dpi.
1 label(s) at 203 dpi, packs sunrise GenSpecs 26.0 / DL 1.7.0: 4 error(s), 0 warning(s), 0 info(s). Pre-check only, not a certification.
sunrise パックは 2D 側をチェックするため、細すぎる EAN-13 は報告しません。1 次元バーコードは表 5-44 の対象です (上記参照)。--annotate を付けると、zplCore は検出結果をラベル上に直接描画します。
sunrise パックは 13 のルールをカバーしています。たとえば、GTIN を持つ 2D キャリアがあること、Digital Link 構文、ECC 200、表 5-46 に基づく Xディメンション、クワイエットゾーン、1 次元バーコードが残っていること、すべてのバーコードで GTIN が同じこと、シンボルの欠けや重ね印刷です。ちなみに、上の変更前ラベルではエラーが 1 件報告されます (ZPL3201、2D キャリアなし)。このパックは 2D への対応状況をチェックするからです。EAN-13 だけのラベルも、GS1 のルール上は引き続き有効です。--format sarif を使うと検出結果が GitHub のコードスキャンに送られ、終了コード 1 で CI パイプラインが停止します。
コマンドラインでの移行
$ zplcore gs1 migrate before.zpl --domain https://example.com --add 10=L2610A --add 15=271231 -o after.zpl
label 1: migrated – added a QR Code with GS1 Digital Link URI with GTIN 09506000134352 right of the EAN-13 (^BE, line 8), bottom-aligned
source: EAN-13 ^BE (line 8), GTIN 09506000134352
added: QR Code with GS1 Digital Link URI at x=394 y=253 dots (49.3 / 31.7 mm), 132 × 132 dots (16.5 × 16.5 mm), module 4 dots = 0.500 mm, quiet zone 16 dots
placement: right of the EAN-13 (^BE, line 8), bottom-aligned
uri: https://example.com/01/09506000134352/10/L2610A?15=271231
data: (01)09506000134352(15)271231(10)L2610A
zpl: ^BY3,3,10^FO394,243^BQN,2,4^FDMA,https://example.com/01/09506000134352/10/L2610A?15=271231^FS^BY3,3,1
sunrise pre-check of the migrated ZPL: 0 error(s), 0 warning(s), 0 info(s)
result: ok – 1 of 1 label(s) migrated, 0 counting sunrise error(s)
GS1 2D migration assistant (pre-check, not a certification): verify the printed label with a barcode verifier and your GS1 Member Organisation or retailer.
アシスタントは EAN-13 から GTIN を読み取ります。このラベルではロットと賞味期限がテキストとしてしか印刷されていないため、--add で追加します。GS1-128 や GS1 DataBar Expanded があれば、そこから自動で引き継ぎます。クワイエットゾーンを確保できる空き領域が見つからない場合は何も変更せず、必要なスペースを報告します。--extend-label を指定すると、代わりにラベルを長くします。--carrier datamatrix を指定すると、QR コードの代わりに GS1 DataMatrix を追加します。
C# SDK で同じことを行う
using ZplCore.Barcodes;
using ZplCore.Compliance;
using ZplCore.Tools;
var report = ZplCompliance.Check(zpl, CompliancePacks.Sunrise2027, new ComplianceOptions { Dpi = 203 });
foreach (var f in report.Findings)
Console.WriteLine(f); // label 1: ZPL3201 error: No GS1 DataMatrix or QR Code / Data Matrix with GS1 Digital Link URI carrying the GTIN.
var options = new Gs1MigrationOptions
{
Carrier = Gs1MigrationCarrier.QrCodeDigitalLink, // または DataMatrixElementString
DigitalLinkStem = "https://example.com", // 自社ドメイン、なければ https://id.gs1.org
Dpi = 203,
};
options.AdditionalElements.Add(new Gs1Element("10", "L2610A"));
options.AdditionalElements.Add(new Gs1Element("15", "271231"));
var migration = ZplGs1Migration.Migrate(zpl, options);
File.WriteAllText("after.zpl", migration.MigratedZpl);
Console.WriteLine(migration.ToText()); // 配置と、結果に対する sunrise 事前チェック
このスニペットを変更前のラベルで実行したところ、出力は上のコマンドラインと一致しました。
重要: zplCore が提供するのは事前チェックと移行アシスタントであり、認証ではありません。レポートが空でも、どのルールにも該当しなかったというだけです。完成したラベルの印刷品質はバーコード検証器で測定し、承認は小売業者または所属する GS1 加盟組織が行います。
zplCloud ならコード不要
インストール不要の無料ツール Sunrise 2027 移行 なら、ブラウザーで同じことができます。EAN/UPC、GS1-128、ITF-14 または GS1 DataBar を含む ZPL ラベルを貼り付けると、GTIN がロット、有効期限、シリアル番号とともに GS1 Digital Link 付き QR コードまたは GS1 DataMatrix に入ります。ツールはクワイエットゾーンを確保して空きスペースに配置し、Sunrise 2027 のルールで結果を再チェックし、変更前と変更後を並べて表示します。
zplCloud デザイナーでは、すべてのバーコード要素に GS1 セクションがあります。アプリケーション識別子を選び、値をバインドし、QR コードには Digital Link を選びます。区切り文字はエディターが自動で配置します。単体のバーコードには無料ツール GS1 AI QR コードから ZPL へ と GS1 AI DataMatrix から ZPL へ があり、印刷済みのバーコードは バーコードチェック で確認できます。すべてのアプリケーション識別子とその形式、意味は GS1 アプリケーション識別子データベース にまとめています。
チーム向けチェックリスト
- 現状を把握する: EAN/UPC (
^BE、^BU、^B8、^B9) や GS1 DataBar (^BR) を含むテンプレートはどれか。どのプリンターで、どの解像度で印刷しているか。 - ユースケースを選ぶ: 消費者向け情報 (Digital Link 付き QR コード)、レジでの有効期限とロット (GS1 DataMatrix または QR)、スペースが少ない (GS1 DataMatrix)。まず 1 つの商品グループから始める。
- Digital Link を定義する: 自社のドメインとパスを使い、既存の商品ページへリダイレクトする。GTIN は 14 桁、順序は 22/10/21、日付はクエリ文字列に、非圧縮。
- データを整理する: ロットと日付は、印刷時に ERP、計量器、生産ラインのどこから来るか。可変データは、印刷済みパッケージではなく、ラインまたはラベルプリンターで印刷することを意味する。
- 表 5-46 に沿った寸法: 2 次元モジュールは 0.396〜0.990 mm (203 dpi: 4〜7 ドット)。EAN-13 は最低 0.264 mm (203 dpi:
^BY3以上)。 - レイアウトを確認する: クワイエットゾーン 1X または 4X、EAN の中心から 50 mm 以内、同じ GTIN、HRI はセクション 4.14.2 に従う。
- 自動で事前チェックする: CI で
zplcore comply --pack sunrise、既存テンプレートにはzplcore gs1 migrate。 - 印刷物を測定する: ISO/IEC 15415 準拠のバーコード検証器で、目標は 1.5/12/660 以上。加えて GS1 のテストスイートと、取引先の実際のレジスキャナーを使う。
- 小売業者: スキャナーモードを設定 (最低でもモード 1)、バーコード 2 つでビープ音は 1 回、POS ソフトウェアを追加データに対応させる。パイロットはプライベートブランドと惣菜で。
- すり合わせる: 取引先、および所属する GS1 加盟組織と調整する。
よくある質問
2027 年末までに商品に 2 次元バーコードを印刷しなければなりませんか?
いいえ。Sunrise 2027 は、レジが何を読み取れるかについての目標です。GS1 Germany は、1 次元バーコードのままでいたい企業は 2 次元コードを追加する必要はないと明言しています。個々の小売業者が独自の要件を設けることはあります。
EAN-13 は廃止されますか?
いいえ。GS1 Germany、GS1 Austria、GS1 Switzerland がそれを明言しており、グローバルガイドラインも同様です。1 次元バーコードは、用途がある限り残ります。
EAN-13 を QR コードに置き換えてもよいですか?
ブランド商品では当面できません。General Specifications 26.0 は、POS スキャンソリューションの 90% が 2D を処理できるようになるまで、2 次元バーコードを EAN/UPC または GS1 DataBar に加えて使うよう求めています。例外は小売業者のクローズドループです。GS1 のポジションペーパーによると、小売業者自身のレジが最低でもモード 2 に対応していれば、プライベートブランドと店内ラベル貼付商品には単一の 2 次元バーコードだけを付けられます。
GS1 Digital Link には自社ドメインが必要ですか?
構文上は任意のドメインに任意のパスを前置でき、GS1 は自社ドメインを推奨しています。会社ドメインのサブパスとリダイレクトがあれば十分です。新しいサーバーなしで実現する方法は、デジタル製品パスポートの記事 で紹介しています。
QR コードの誤り訂正レベルはどれにすべきですか?
GS1 は特定のレベルを定めていません。誤り訂正レベルが高いほど堅牢になりますが、シンボルは大きくなります。GS1 ガイドラインの例ではレベル M (15%) を使っており、私たちの例も同じです。重要なのは、モジュールサイズを表 5-46 の範囲内に収めることです。
203 dpi のプリンターで Sunrise に適合したバーコードを印刷できますか?
はい。203 dpi では 1 モジュール 4〜7 ドットが許容され、4 ドットで 0.500 mm となり、目標値 0.495 mm にほぼ一致します。ボトルネックになりやすいのはむしろ隣の EAN-13 で、203 dpi では最低でも ^BY3 が必要です。
QR コードには独自の目視可読文字が必要ですか?
HRI 付きの EAN-13 の横にあるなら不要です。2 次元バーコードが唯一のバーコードである場合は、(01) に続けて 14 桁の GTIN を表示します (General Specifications、セクション 4.14.2)。
医薬品や医療機器はどうなりますか?
引き続き GS1 DataMatrix とエレメントストリングを使い、UDI や DSCSA などの既存の義務にも従います。ヘルスケア分野では、GS1 Digital Link は 2 次元バーコードにエンコードされません。
zplCore のチェックは GS1 の認証ですか?
いいえ。公開されたルールに照らした事前チェックであり、移行のためのアシスタントです。受け入れられるかどうかは、検証器、小売業者、所属する GS1 加盟組織によって決まります。
出典
すべての出典は 2026 年 10 月 19 日にアクセスしました。
- GS1 US: What is GS1 Sunrise 2027?
- GS1: Compliance for 2D barcodes at Point of Sale (POS)、2026 年 10 月 8 日更新
- GS1: GS1 2D barcodes in Retail
- GS1: 2D Barcodes at Retail Point-of-Sale Implementation Guideline、Release 1.1.0、2025 年 12 月
- GS1: GS1 General Specifications Standard、Release 26.0、2026 年 1 月 (セクション 4.14.2、4.15、表 5-44 と 5-46 を含む 5.12.3.1、表 5-49 を含む 5.12.3.3)
- GS1: GS1 Digital Link と GS1 Digital Link Standard: URI Syntax、Release 1.7.0、2026 年 8 月
- GS1: Migration to a single GS1 conformant 2D barcode for retailer private label and in-store labelled products、Release 2.0.0、2026 年 7 月
- GS1 Germany: Zukunft 2D-Code
- GS1 Germany: Implementierungsleitfaden für 2D Codes am Point-of-Sale des Einzelhandels、第 1.1 版、2025 年 11 月
- GS1 Germany: 5-Punkte-Checkliste für die Implementierung von 2D-Codes am POS
- GS1 Germany: Globales Programm 2D Migration, Grundlegende Fragen (FAQ)、2022 年 11 月
- GS1 Austria: 2D Codes
- GS1 Austria と GS1 Germany: Leitfaden für eine Migration auf 2D Codes am Point-of-Sale des Einzelhandels、第 1.1 版、2022 年 2 月
- GS1 Switzerland: 2D-Codes と 2D-Codes am Point of Sale
- U.S. FDA: UDI Basics
- 21 U.S.C. § 360eee と § 360eee-1 (DSCSA、製品識別子)
- 欧州委員会: Digital Product Passport
GS1、GS1 DataMatrix、GS1 Digital Link は GS1 AISBL の商標であり、本記事では説明目的でのみ使用しています。zplCloud と zplCore は GS1 の製品ではありません。