Code 128とCode 39の違いを徹底解説(2026年最新)

A modern, sleek comparison of two barcode styles representing efficiency and legacy

物流、医療、製造、小売のいずれでバーコードを扱うにしても、Code 128Code 39 の両方に出会ったことがあるはずです。これらは1Dバーコードで最も普及している2つのフォーマットで、2026年においてどちらを選ぶべきかは「どれだけのデータを格納するか」「ラベルにどれだけのスペースがあるか」で決まります。

Code 128はモダンな標準です。高密度でフルASCIIに対応し、チェックデジットが必須です。一方Code 39は古くからあるシンプルな代替で、短い文字列には適していますが、データが長くなると扱いにくくなります。本記事では両者の違いを整理し、最適な選び方を解説します。

Code 128とCode 39の比較一覧

項目 Code 128 Code 39
データ密度 高密度 — より少ないスペースでより多くのデータを格納 低密度 — すぐに幅広になる
対応文字 フル128 ASCII文字 43文字(大文字、数字、一部の記号)
小文字の対応 ネイティブ対応 「Extended」モードのみ(バーコード長が2倍になる)
チェックデジット 必須(Modulo 103) オプション
バー/スペース幅 4種類(1、2、3、4単位) 2種類(ナローとワイド)
最適な用途 物流、出荷、複雑なデータ シンプルな社内管理、レガシーシステム

物理サイズの違いは歴然です。Peak Technologiesによれば、データ文字列が15文字を超える場合はCode 39からCode 128に切り替えることを推奨しています。Code 39で20文字のIDを表現すると標準的な2インチラベルに収まらないこともありますが、Code 128ならコンパクトに収まります。

同じデータを表現するとCode 128はCode 39よりはるかに短くなることを示す比較図

現代のスキャナー(エリアイメージャーやスマートフォンアプリ)はどちらのフォーマットも問題なく読み取れます。ただしCode 128は内蔵のエラー検出により大量処理環境での誤読を防ぐため、信頼性で優れています。

データ密度が重要な理由

データ密度とは、バーコード1インチあたりに何文字格納できるかを示します。Wikipediaによれば、Code 128はバーとスペースに4種類の幅を使用するのに対し、Code 39は2種類のみです。この精密さにより、Code 128は数値データで約2倍の密度を実現します。医療用バイアルや小型電子部品のような小さな対象では、Code 128が唯一実用的な1Dバーコードになることも少なくありません。

対応文字

  • Code 39(標準): 43文字 — 大文字A〜Z、数字0〜9、一部の記号(-、.、$、/、+、%、スペース)。
  • Code 128: 128 ASCII文字すべて — 大文字、小文字、記号、さらにキャリッジリターンなどの制御文字にも対応。
  • Code 39 Extended: 文字ペアで小文字をエンコード可能(例:小文字「a」を「+A」で表現)。ただしPeak Technologiesが指摘するように、これは「スペースの無駄遣い」であり、バーコードが不必要に長くなります。

Code 128が現代物流の標準である理由

Code 128はGS1-128標準を通じて世界的な出荷を支えています。この標準は「アプリケーション識別子」を用いて、ロット番号、有効期限、シリアル番号などのデータを構造化します。

必須のチェックデジット(Modulo 103)

Code 39ではチェックサムはオプションです。一方Code 128では仕様に組み込まれており、計算された値がバーコード末尾に付加され、スキャナーが読み取りのたびに検証します。これにより忙しい倉庫での「誤読」リスクをほぼ排除できます。

Code Set A、B、Cによる最適化

Code 128は3つの内部モードを切り替えることでコンパクトさを保ちます。

Code Set 最適化対象 主なメリット
A 大文字+制御コード 産業用途
B 標準英数字+小文字 汎用テキスト
C 数値のみのデータ 1シンボルで2桁 — 数値で最も効率的

Wikipediaによれば、Code Set Cは2桁の数字を1つのバーコードシンボルに詰め込むことができます。長い数値文字列では非常に効率的です。Steven Skienaの研究によれば、賢いCode Set選択により、固定設定の場合と比べて平均8%小型化できることが分かっています。

Code Set Cが2桁の数字を1シンボルにペアリングする仕組みを示す図

Code 39はまだ意味があるか?

Code 39は2026年でもシンプルで許容範囲が広いことから、まだ一定の地位があります。Code 39は「自己チェック」機能を備え、文字間の隙間がエラーの切り分けに役立つため、低解像度のプリンターや古い産業用スキャナーでも良好に動作します。

現在でもCode 39は以下の用途で見られます:
米国国防総省(LOGMARS標準)
医療分野の社内管理
自動車業界のレガシーシステム

問題となるのはCode 39 Extendedです。小文字の「a」1文字をエンコードするために「+A」を印刷する必要があり、バーコード長が2倍になります。管理IDで大文字小文字が混在する場合、Code 39 Extendedは不適切な選択です。

技術仕様:Xディメンジョンとクワイエットゾーン

バーコードがどれだけ読み取りやすいかはXディメンジョン(最も細いバーの幅)に依存します。GS1 2026標準によれば、小売用レジにおける最小Xディメンジョンは0.264 mm(0.0104インチ)です。

また両フォーマットともクワイエットゾーン、つまりバーコード両端の空白の余白が最も細いバーの幅の10倍以上必要です。これがないと、スキャナーはバーコードの開始位置と終了位置を判別できません。

スキャナーの互換性

スキャナーの種類 最適な組み合わせ 備考
レーザースキャナー 長くて背の高いバーコード すべてのバーにわたり明確なレーザー光路が必要
エリアイメージャー(2026年標準) 両フォーマット、高密度Code 128含む 損傷や傾きのあるラベルも読み取り可能
スマートフォンカメラ 両フォーマット iOS/Androidでネイティブ対応

Gitnux 2024によれば、小売セクターは世界の1日あたりスキャン数の42%を占めており、業界全体がより信頼性の高いエリアイメージング標準へ移行しつつあります。

まとめ

Code 39はシンプルで短い社内管理ID、特に古いスキャナーを使うレガシーシステムには適しています。それ以外の用途ではCode 128が明確な選択肢です。サイズが小さく、より多くの文字に対応し、必須のエラーチェックを備え、現代物流の基盤となっています。

選定の目安:
– データが10〜15文字未満で大文字のみ → Code 39で問題なし
– それより長い、または大文字小文字混在/記号あり → Code 128
– GS1-128準拠が必要 → Code 128(他に選択肢なし)

ラベルを設計する際は、世界中で読み取り性を保証するため、最も細いバーが0.264 mmのGS1標準を満たすようにしてください。

FAQ

Code 39で小文字をエンコードできますか?

標準のCode 39は大文字、数字、一部の記号のみに対応しています。小文字をエンコードするにはCode 39 Extendedが必要で、文字ペア(例:「a」を「+A」で表現)を使用します。これによりバーコードの物理的な長さが大幅に増加し、Code 128と比べて効率が著しく低下します。

なぜCode 128はCode 39より「高密度」なのですか?

Code 128は4種類のバー/スペース幅(Code 39の2種類に対し)を使用し、Code Set Cが1シンボルで2桁をエンコードします。このため数値データにおいてCode 128はCode 39の約2倍の密度を持ち、貴重なラベルスペースを節約できます。

Code 39バーコードにチェックデジットは必要ですか?

Code 39ではオプションですが、重要な環境では推奨されます。Code 128は仕様自体に必須のModulo 103チェックサムが組み込まれており、大量スキャンにおいて本質的に高い信頼性を持ちます。

ラベルスペースが限られた小さな対象にはどちらが適していますか?

Code 128です。密度が高いため、Code 39では窮屈で読み取りにくくなる同じ物理スペース内でも、Code 128は大きなXディメンジョンで(スキャナーが読み取りやすく)印刷できます。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です