Code 128バーコード作成ツール
履歴はありません。
Code 128とは
Code 128は、ASCII全128文字を表現できる可変長のバーコード規格です(ISO/IEC 15417、国内ではJIS X 0504)。数字だけでなく英字・記号・制御文字を扱えるため、社内の在庫管理、資産管理、棚番、伝票番号など、流通用商品コード以外のほぼすべての用途で第一候補になります。
EAN-13(JANコード)と違い、GS1への登録は不要です。自社で決めた番号体系をそのまま使えます。
3つのサブセット(コードセット)
Code 128には A・B・C の3つのモードがあり、同じ1本のバーコードの中で切り替えられます。この仕組みを理解しているかどうかで、生成されるバーコードの長さが変わります。
| サブセット | 扱える文字 | 主な用途 |
|---|---|---|
| Code A | 大文字・数字・記号・制御文字 | 制御文字が必要な場合 |
| Code B | 大文字・小文字・数字・記号 | 一般的な英数字混在 |
| Code C | 数字のみ(00〜99) | 桁数の多い数字列 |
実務上もっとも重要なのがCode Cです。Code Cは2桁の数字を1シンボルで表現します。つまり数字だけのデータなら、シンボル数が半分になり、同じ印刷幅で倍の桁数が入ります。
逆に言えば、数字列の桁数を偶数に揃えるだけでバーコードが短くなるということです。「A-12345」のように英字が混ざると全体がCode Bで処理され、この圧縮が効きません。ラベル幅がどうしても足りないときは、番号体系から英字を外して数字のみにできないか検討する価値があります。
チェックディジット
Code 128には必須のチェック文字が1つ付きます。EAN-13のように人が読む数字列の一部として見えるものではなく、シンボル内部に埋め込まれます。
計算方法は、スタートコードの値に、各文字の値へ位置番号(1から始まる)を掛けたものを加算し、103で割った余りを求めます。例えばCode B(スタート値104)で「AB」を表す場合、A=33、B=34なので 104 + 1×33 + 2×34 = 205、205 mod 103 = 102 がチェック文字の値になります。
この計算はツールが自動で行うため入力は不要ですが、他システムが出力したCode 128が読めない場合、チェック文字の計算誤りが原因であることが少なくありません。切り分けの手がかりとして知っておくと役立ちます。
印刷サイズの考え方
Code 128にはEAN-13のような固定の基本寸法がありません。可変長のため、ナローバー幅(最小モジュール幅)と桁数で全体の幅が決まります。
設計の目安は次のとおりです。
- ナローバー幅:一般的な業務用スキャナーでは0.25mm以上を確保すると安定します。0.19mm程度まで細くできる環境もありますが、印刷方式と検証が前提です
- クワイエットゾーン:左右それぞれナローバー幅の10倍以上。ナローバー0.25mmなら片側2.5mm以上です
- バー高さ:幅の15%程度、または最低でも6〜13mm。低くするほど斜め読みに弱くなります
桁数が増えると横に伸び続けます。ラベル幅が固定されている場合、桁数を減らすか、2次元コード(Data MatrixやQRコード)に切り替えるのが現実的な解決策です。無理にナローバーを細くすると読み取り率が急激に落ちます。
GS1-128との違い
よく混同されますが、GS1-128はCode 128の応用です。シンボルの仕組みは同じで、データの先頭にFNC1という特殊文字を置き、「アプリケーション識別子(AI)」というルールに従ってデータを構造化したものがGS1-128です。
賞味期限、ロット番号、数量などを1本のバーコードに含める必要がある場合はGS1-128を使います。単に自由な文字列を入れたいだけならCode 128で十分で、AIのルールに縛られる必要はありません。
印刷後の確認
- 実寸で印刷し、ナローバー幅が設計値どおりか確認する
- インクジェットの場合、にじみでバーが太っていないか確認する
- 実際に運用するスキャナーで読み、読み取った文字列が入力値と完全に一致するか照合する
- 小文字や記号を含む場合、受け側システムがその文字を受け付けるか確認する
参考にした一次情報
執筆:Anna Smith | 公開日:2026年8月22日 | 最終更新:2026年8月22日
本記事の規格に関する記述は、GS1およびJIS/ISOの公開仕様を参照しています。参照先は本文中に記載しています。
最終更新:2026年8月22日。規格・制度は改定されることがあります。実運用の前に必ず公式資料で最新情報をご確認ください。誤りにお気づきの際はお問い合わせよりご指摘ください。