スーパーの商品・宅配の送り状・工場の部品管理など、身の回りのあらゆる場所にバーコードがあります。しかしいざ「自分でバーコードを作りたい」「QRコードとの違いは?」と思っても、調べるとCODE128・EAN-13・UPC-Aなどの用語が飛び交い困惑することも多いでしょう。

本記事では、バーコードの仕組みと種類・CODE128/EAN-13/UPC-Aの使い分け・無料で作成する方法を実務目線で解説します。

バーコードとは?

バーコードは、黒いバー(棒)と白いスペースの組み合わせで数値や文字を表現する光学的な自動認識技術です。バーコードリーダーが光を当て、反射率の差でバーとスペースを読み取ってデータに変換します。

1次元バーコード(縦縞のバーコード)は1953年に特許が取得され、1974年にスーパーマーケットで世界初の商業利用(チューインガムのパッケージにUPCバーコード)が行われました。

バーコードとQRコードの違い

1次元バーコードQRコード
方向横方向のみ縦横2方向
データ量最大〜80文字程度最大7,089文字(数字)
読み取り機器専用バーコードリーダー・スマホ主にスマートフォン
主な用途商品管理・物流・POSレジURL共有・決済・名刺
耐損性低(一部でも汚れると読めない)高(最大30%欠けても読める)

POSレジや物流の専用スキャナーは高速・長距離読み取りに特化しており、1次元バーコードとの親和性が高いです。スマートフォンによる消費者向け用途にはQRコードが適しています。

主要なバーコードの種類

CODE128 — 最も汎用的なバーコード

ASCII文字128種(英字・数字・記号・制御コード)すべてを高密度でエンコードできる1次元バーコードです。物流・在庫管理・社内管理など幅広い用途で使われます。

  • 英字・数字・記号・スペースを自由に組み合わせられる
  • GS1-128(旧EAN-128)もCODE128の拡張版
  • Amazonの出荷ラベル・宅配便の送り状などで広く採用
// CODE128のデータ例
ITEM-A001-20241015
ORDER#123456
SN:XYZ-789-ABC

EAN-13 / JANコード — 国際標準の商品バーコード

EAN-13(European Article Number)はスーパー・コンビニ・ドラッグストアなど小売現場で使われる国際標準バーコードです。日本のJANコード(Japanese Article Number)はEAN-13と同一規格で、先頭2桁が45または49の商品が日本製です。

  • 13桁の数字のみ(最後の1桁はチェックデジット)
  • GS1 Japanへの企業コード登録が必要(商業流通の場合)
  • 先頭3桁が「国コード」:45/49=日本、690〜699=中国、400〜440=ドイツ

EAN-8 — 小型商品向けコンパクトバーコード

EAN-13の短縮版で8桁。ガム・口紅・ペンなど小型パッケージに使われます。スペースが限られる場合にEAN-13からの許可を得て使用できます。

UPC-A — 北米標準の商品バーコード

アメリカ・カナダで使われる12桁の商品バーコードです。EAN-13と互換性があり、欧州向けリーダーではEAN-13として読み取れます(先頭に0を補完して13桁扱い)。

チェックデジットの仕組み

EAN-13・EAN-8・UPC-Aの最後の1桁はチェックデジットと呼ばれ、データの読み取りエラーを検出するための検証用数値です。

EAN-13のチェックデジット計算例(先頭12桁が 490123456789 の場合):

// EAN-13チェックデジット計算
// 奇数桁(1,3,5,7,9,11)×1 + 偶数桁(2,4,6,8,10,12)×3
// 位置:  1  2  3  4  5  6  7  8  9 10 11 12
桁:       4  9  0  1  2  3  4  5  6  7  8  9
係数:     1  3  1  3  1  3  1  3  1  3  1  3
積:       4 27  0  3  2  9  4 15  6 21  8 27

合計 = 4+27+0+3+2+9+4+15+6+21+8+27 = 126
チェックデジット = (10 - (126 % 10)) % 10 = (10 - 6) % 10 = 4

// 最終バーコード: 4901234567894

バーコード生成ツールでは、12桁を入力するとチェックデジットを自動計算して13桁のバーコードを生成します。

バーコードの作り方

ブラウザで無料生成(登録不要)

バーコード生成ツールを使えば、ブラウザ上でCODE128・EAN-13・EAN-8・UPC-Aのバーコードを即時生成できます。SVG(印刷品質)とPNG(画面用)でダウンロード可能です。

印刷用途のポイント

  • SVG形式で保存:バーコードはベクター形式(SVG)で保存すると、どんな解像度でも線がくっきり印刷される。PNG・JPEGは拡大時に劣化する
  • 最低バー幅:印刷するバーコードの最小バー幅は0.25mm以上が推奨。小さすぎるとスキャナーが読み取れない
  • クワイエットゾーン:バーコードの左右に必要な余白(クワイエットゾーン)。EAN-13ではバーコード幅の7モジュール分が必要
  • コントラスト:黒バー・白背景が基本。カラー印刷する場合は反射率の差が重要(赤いバーは赤外線スキャナーで読めないことがある)

開発者向け:ライブラリで生成

// JavaScript: JsBarcode
import JsBarcode from 'jsbarcode';

JsBarcode('#barcode', '123456789012', {
  format: 'EAN13',
  width: 2,
  height: 100,
  displayValue: true,
});

// Python: python-barcode
import barcode
from barcode.writer import ImageWriter

ean = barcode.get('ean13', '123456789012', writer=ImageWriter())
ean.save('barcode')  # barcode.png を生成

// PHP: picqer/php-barcode-generator
$generator = new Picqer\Barcode\BarcodeGeneratorPNG();
file_put_contents('barcode.png',
    $generator->getBarcode('123456789012', $generator::TYPE_EAN_13));

JANコード(JAN登録)について

日本国内で商品を流通させるためのJANコードは、GS1 Japan(流通システム開発センター)への企業コード登録が必要です。

  • 登録料:年会費6,600円〜(登録商品数・企業規模による)
  • 個人・小規模事業者向けの少量アイテム対応プランあり
  • ECサイト(Amazon・楽天など)での出品にはJANコードが必須の場合がある

本ツールは自社管理・試作・テスト用途のバーコード生成に適しています。GS1に登録せずに作成したバーコードを他社のPOSシステムや外部流通に使用しないよう注意してください。

よくある質問(FAQ)

生成したバーコードはスマートフォンで読み取れますか?
はい。EAN-13・EAN-8・UPC-AはiOSのカメラアプリ(iOS 11以降)、Android標準カメラ、Google レンズで読み取れます。CODE128はLINEやZXingなどのバーコードスキャナーアプリが必要な場合があります。
EAN-13を登録なしで使ってもよいですか?
自社内の在庫管理・テスト用途であれば問題ありません。ただし外部の小売店・ECモールでの商品流通にGS1未登録のJANコードを使用すると、他社コードとの衝突や規約違反になる可能性があります。
バーコードが読み取れない場合はどうすれば?
①印刷品質を上げる(SVG使用・高解像度印刷)②バーコードサイズを大きくする(最低2cm幅以上推奨)③余白(クワイエットゾーン)を確保する④コントラストを上げる(純黒×純白)⑤スキャナーのAGC(自動利得制御)設定を確認する、の順で試してみてください。
Amazonに出品するにはJANコードが必要ですか?
多くの場合、Amazon出品にはJANコード(または他のGS1コード)の登録が必要です。自社ブランド商品の場合はブランド登録(Amazon Brand Registry)を通じて免除申請できる場合があります。詳細はAmarazonセラーセントラルの最新ガイドをご確認ください。

まとめ

  • CODE128は英数字・記号を自由にエンコードできる汎用バーコード。物流・在庫管理に最適。
  • EAN-13(JANコード)は13桁の国際標準商品バーコード。小売流通にはGS1 Japan登録が必要。
  • 印刷用にはSVG形式を使い、十分なクワイエットゾーンと高コントラストを確保する。
  • 自社内管理・試作用途なら登録なしで自由に作成できる。外部流通・ECモール出品は規約を確認する。
  • バーコード生成ツールでCODE128・EAN-13・EAN-8・UPC-AをSVG/PNGでダウンロード可能。