QR WORLD
QR WORLD

CODE39のチェックデジットとは?計算方法(モジュラス43)と設定時の注意点を解説

カバー写真
CODE39バーコードの利用を検討する中で、「チェックデジット」という言葉を目にしたことはありませんか? 「チェックデジットって何のためにあるの?」 「設定は必須なの?それとも任意?」 「どうやって計算すればいいの?」 この記事では、そんなCODE39のチェックデジットに関するあらゆる疑問にお答えします。その役割から、具体的な計算方法「モジュラス43」、利用する上での重要な注意点まで、初心者の方にも分かりやすく解説します。

CODE39のチェックデジットは必須?任意?

>>【まとめ記事】CODE39とは?特徴や規格をわかりやすく解説

まず最も重要な点として、JANコードやITFコードとは異なり、CODE39のチェックデジットは必須ではなく、任意(オプション)です。

チェックデジットは、バーコードに汚れやかすれがある場合に起こりうる「誤読」を防ぎ、データの信頼性を格段に向上させるための仕組みです。そのため、以下のような高い精度が求められるシーンでの利用が強く推奨されています。

  • 医療用医薬品や検体の管理
  • 工場の生産ラインにおける部品管理
  • 物流センターでの資産管理

これらの現場では、万が一の誤読が大きな問題につながる可能性があるため、チェックデジットを付加して信頼性を高めています。

チェックデジットの計算方法「モジュラス43」とは?

CODE39のチェックデジットは、「モジュラス43(Modulo 43)」という計算方式で算出されます。 計算プロセスは以下の4つのステップで行われます。

  1. データ内の各文字(キャラクタ)に割り当てられた数値(0~42)を調べます。
  2. データ内すべての文字の数値を合計します。
  3. その合計値を「43」で割り、「余り」を求めます。
  4. その「余り」に対応する文字が、チェックデジットとしてデータの末尾に付加されます。※末尾のアスタリスクの前

[CODE39のチェックデジット例]

CODE39のチェックデジット例

【全43種】キャラクタと数値の対応一覧表

ステップ1で必要になる、各文字と数値の対応表は以下の通りです。

Code39 チェックデジット計算用 数値対応表

数値
キャラクタ
数値
キャラクタ
0
0
22
M
1
1
23
N
2
2
24
O
3
3
25
P
4
4
26
Q
5
5
27
R
6
6
28
S
7
7
29
T
8
8
30
U
9
9
31
V
10
A
32
W
11
B
33
X
12
C
34
Y
13
D
35
Z
14
E
36
-
15
F
37
.
16
G
38
(スペース)
17
H
39
$
18
I
40
/
19
J
41
+
20
K
42
%
21
L

【実践】具体的な計算手順の例

ここではデータが「123ABC」の場合を例に計算します。

  1. 各文字の数値は、1=1, 2=2, 3=3, A=10, B=11, C=12 となります。
  2. 数値を合計します: 1 + 2 + 3 + 10 + 11 + 12 = 39
  3. 合計値を43で割った余りを求めます: 39 ÷ 43 = 0 余り 39
  4. 余り「39」に対応する文字は「$」です。>>したがって、バーコード化されるデータ(キャラクタ)は「123ABC$」となります。
計算されたCODE39

チェックデジットを自動計算できるバーコードジェネレーターは?

上記のようにチェックデジットを計算する方法はPCなどでは簡単ですが人間の手で計算するには少し手間がかかり、間違ってしまう可能性があります。

そこでおすすめなのがオンラインバーコードジェネレーターのQR TOOLです。

  • 無料/登録不要
  • アプリ等インストール不要
  • 一括作成可能
  • チェックデジットは自動計算

利用する手順は以下の通りです。

  1. CODE39作成ページへアクセスする
  2. オプションで「チェックデジットを利用する」「チェックデジットを文字で表示する」「アスタリスクを文字で表示しない」など設定します。
  3. データはコピー&ペーストかエクセル・CSVで入力可能です。
  4. 「一括ダウンロード」ボタンをクリックして保存

[CODE39作成ページ]

CODE39作成ページ

[CODE39の各種オプション設定]

CODE39の各種オプション設定

[データを入力しCODE39画像をダウンロード]

データを入力しCODE39画像をダウンロード

【重要】チェックデジット利用時の注意点

チェックデジットを利用する際に、最も注意すべき点が一つあります。

それは、バーコードを生成する側(ソフトウェアやツール)と、読み取る側(バーコードリーダー)の設定を必ず合わせることです。

チェックデジットは任意付加のため、リーダー側で「チェックデジット有り/無し」の設定ができます。この設定が、作成したバーコードと食い違っていると、以下のような問題が発生します。

  • リーダーが「有り」設定 の時に チェックデジット無しのバーコード を読む → 読めない(エラーになる)
  • リーダーが「無し」設定 の時に チェックデジット付きのバーコード を読む → チェックデジットまで含めてデータとして読んでしまう(例:「CODE39-P」と表示される)

システムを導入する際は、この設定を統一するよう十分にご注意ください。

まとめ: CODE39のチェックデジットとは

CODE39のチェックデジットについて、重要なポイントを以下にまとめます。

  • チェックデジットは任意(オプション)で付加できる。
  • 主な目的は誤読を防止し、データの信頼性を高めること。
  • 計算方式は「モジュラス43」が使われる。
  • 利用する際は、バーコード作成側とリーダー側の設定を必ず統一する必要がある。

チェックデジットを正しく理解し活用することで、CODE39をより安全で信頼性の高いものにできます。業務の正確性が求められる場面では、ぜひ導入を検討してみてください。

CODE39のキャラクタ構成やスタート/ストップキャラクタといった、より基本的な仕様については、以下の記事で詳しく解説しています。

>>【まとめ記事】CODE39とは?特徴や規格をわかりやすく解説

QR WORLDロゴ

QR WORLD(QRワールド) 編集部

QRコード・バーコードの生成・読み取りシステムを開発してきた経験からお役立ち情報を発信しています。

QRコード作成

無料