GS1-128バーコード作成ツール

単一モード
一括印刷モード
最近の履歴

履歴はありません。

GS1-128とは

GS1-128は、商品コードだけでなく、賞味期限・ロット番号・数量などを1本のバーコードにまとめて格納できる仕組みです。物流ラベル、食品トレーサビリティ、医療材料の管理などで使われます。

技術的にはCode 128そのものです。シンボルの構造も文字の表現方法も同じで、違いはデータの中身にルールがあるという一点です。

Code 128との違い——FNC1とAI

GS1-128は、データの先頭にFNC1という特殊文字を置きます。これが「このバーコードはGS1のルールに従っている」という宣言になり、読み取り側は続くデータをアプリケーション識別子として解釈します。

アプリケーション識別子(AI)は、直後のデータが何を意味するかを示す2〜4桁の数字です。

AI意味データ形式
(01)GTIN(商品コード)数字14桁・固定
(10)ロット番号英数20桁まで・可変
(11)製造日YYMMDD・固定
(17)有効期限YYMMDD・固定
(21)シリアル番号英数20桁まで・可変
(30)数量数字8桁まで・可変
(00)SSCC(出荷梱包シリアル番号)数字18桁・固定

固定長と可変長——最大のつまずきどころ

AIにはデータ長が固定のものと可変のものがあります。ここを理解していないと、必ず読み取りトラブルになります。

可変長AIの後ろにFNC1を入れ忘れると、次のAIの数字までロット番号の一部として読み込まれます。バーコードは正常に読めるのに、値が壊れているという厄介な症状になります。ロット番号の末尾に見覚えのない数字が付いている場合、まずここを疑ってください。

なお、可変長AIをデータの最後に置けばFNC1は不要です。設計段階で可変長AIを末尾に配置すると、区切りの問題そのものを避けられます。

データ設計の順序

AIの並び順に規格上の決まりはありませんが、実務では次の順序が扱いやすくなります。

  1. 固定長AIを先に置く(01、17、11 など)
  2. 可変長AIを後ろに置く(10、21 など)
  3. 可変長AIは最後の1つだけにできれば、FNC1の挿入が不要になる

例:(01)14901234567891(17)261231(10)ABC123 なら、GTIN(固定14桁)、有効期限(固定6桁)、ロット(可変・末尾)となり、途中のFNC1が不要です。

日付の書き方

AI(17)有効期限、AI(11)製造日はいずれもYYMMDD形式の6桁です。注意点が2つあります。

受け側システムが「00」日を処理できず、不正な日付としてエラーになる実装をときどき見かけます。取引先とやり取りする際は、この扱いを確認してください。

印刷とサイズ

シンボルの物理的な要件はCode 128と同じです。ナローバー幅、クワイエットゾーン(左右それぞれナローバー幅の10倍以上)、バー高さの考え方はそのまま適用されます。

ただしGS1-128はデータが長くなりがちです。GTIN14桁+日付6桁+ロット10桁と入れると、シンボルはかなり横に伸びます。ラベル幅に収まらない場合の選択肢は次のとおりです。

ナローバー幅を無理に細くするのは避けてください。物流現場のスキャナーは、店頭のPOSより過酷な条件で読み取ります。

使う前に確認すること

GS1-128は取引先との取り決めが前提のバーコードです。どのAIを、どの順序で、どんな値で入れるかは業界や取引先ごとに仕様が定められていることがほとんどです。

自己流で組み立てる前に、必ず納品先の仕様書を確認してください。また、AI(01)に入れるGTINは正式に発番されたものである必要があります(GS1事業者コードの登録が前提です)。

参考にした一次情報

執筆: | 公開日:2026年8月22日 | 最終更新:2026年8月22日
本記事の規格に関する記述は、GS1およびJIS/ISOの公開仕様を参照しています。参照先は本文中に記載しています。

最終更新:2026年8月22日。規格・制度は改定されることがあります。実運用の前に必ず公式資料で最新情報をご確認ください。誤りにお気づきの際はお問い合わせよりご指摘ください。