JANコードのチェックデジットの計算方法|3と1をかけて足すだけ。手計算の例・Excelの式・ITF-14・ISBNまで
JAN コードの最後の1桁は「チェックデジット」と呼ばれ、前の12桁から計算で決まる確認用の数字です。商品登録で12桁しか分からないとき、取引先から届いた13桁が正しいか確かめたいとき、自分で計算できると便利です。この記事では、右から 3・1・3・1… をかけて足し、10 から1の位を引くという計算のしかたを、実際の13桁で1桁ずつ追って説明します。JAN コード13桁の内訳(45・49 の国コード、事業者コード、商品アイテムコード)、短縮タイプの8桁・UPC-A・集合包装用の ITF-14・書籍 JAN コード・インストアコードでの計算、11 で割る ISBN-10 と X の意味、Excel・Google スプレッドシートの式、チェックデジットで見つかる間違いと見つからない間違い、よくある計算ミスまでまとめます。
結論:右から 3・1・3・1… をかけて足し、10 から1の位を引く
JAN コード(13桁)のチェックデジットは、最後の1桁を除いた12桁から次の手順で求めます。この計算方法は「モジュラス10/ウェイト3・1」と呼ばれ、JAN コードの国際的な呼び名である EAN-13(GTIN-13)のほか、8桁の短縮タイプ、アメリカの UPC-A、段ボールに使う ITF-14 でも同じです。
- ① 12桁を、右端(チェックデジットのすぐ左)から順に 3・1・3・1… とかけていく
- ② かけた数をすべて足す
- ③ 合計の1の位を 10 から引く。それがチェックデジット
- ④ 合計の1の位が 0 のときは、チェックデジットも 0(10 ではない)
例として 456995111617 の12桁で計算してみます。12桁のときは、左から数えて奇数番目に 1、偶数番目に 3 をかけることになります。
| 位置(左から) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 数字 | 4 | 5 | 6 | 9 | 9 | 5 | 1 | 1 | 1 | 6 | 1 | 7 |
| かける数 | ×1 | ×3 | ×1 | ×3 | ×1 | ×3 | ×1 | ×3 | ×1 | ×3 | ×1 | ×3 |
| 積 | 4 | 15 | 6 | 27 | 9 | 15 | 1 | 3 | 1 | 18 | 1 | 21 |
積を全部足すと 4+15+6+27+9+15+1+3+1+18+1+21=121 です。1の位は 1 なので、10-1=9。チェックデジットは 9 で、JAN コードは 4569951116179 になります。
以下では、13桁の中身、ほかの種類のコードでの計算、ISBN-10 のような 11 で割る方式、Excel の式、チェックデジットで見つかる間違いと見つからない間違い、よくある計算ミスの順に説明します。この記事の数字は、すべて JAN コード チェックデジット計算ツールと同じ計算で確かめたものです。
JAN コード13桁の内訳:国コード・事業者コード・商品アイテムコード・チェックデジット
日本の商品についている13桁の JAN コードは、先頭から「国コード(GS1 プレフィックス)」「事業者コード」「商品アイテムコード」「チェックデジット」の順に並んでいます。日本の事業者は GS1 Japan(一般財団法人流通システム開発センター)に申し込んで、45 または 49 から始まる GS1 事業者コードを受け取り、その後ろに自分で商品ごとの番号を振ります。
| 事業者コードの桁数(45・49 を含む) | 商品アイテムコード | つけられる商品数 | チェックデジット |
|---|---|---|---|
| 9桁(いまの標準) | 3桁(000〜999) | 1,000 品目 | 1桁 |
| 10桁(品目が少ない事業者向け) | 2桁(00〜99) | 100 品目 | 1桁 |
| 7桁(古くから登録している事業者) | 5桁(00000〜99999) | 10万品目 | 1桁 |
どの組み合わせでも、チェックデジットを除くと12桁になり、計算方法は変わりません。チェックデジットは番号を決める人が自由に選ぶものではなく、前の12桁が決まれば自動的に1つに決まります。
| 先頭の数字 | 意味 |
|---|---|
| 45・49 | 日本(GS1 Japan が割り当てた番号) |
| 00・01・06〜13 | アメリカ・カナダ(UPC を13桁で表したもの) |
| 02・20〜29 | インストアコード(お店の中だけで使う番号) |
| 69 | 中国 |
| 880 | 韓国 |
| 471 | 台湾 |
| 978・979 | 書籍(ISBN) |
| 191・192 | 日本の書籍 JAN コードの2段目(分類コードと本体価格) |
なぜ「右から」数えるのか。8桁・12桁・14桁でも同じ式が使える理由
チェックデジットの計算で 3 をかけるのは、「チェックデジットのすぐ左の桁」から1つおきの桁です。左から数えると、13桁の JAN では偶数番目、8桁の短縮 JAN では奇数番目と、桁数によって入れ替わってしまいます。右から数えるルールなら、どの長さのコードでも同じ手順で計算できます。
- 1
チェックデジットを除いた数字を書き出す
13桁の JAN なら12桁、8桁の短縮 JAN なら7桁、14桁の ITF-14 なら13桁です。13桁が手元にあって確かめたいときは、最後の1桁を外します。
- 2
右端の数字に 3 をかけ、そこから左へ 1・3・1・3… とかける
右端が「×3」になるのは、どの種類のコードでも同じです。
- 3
積を全部足し、1の位を見る
合計が 121 なら 1、合計が 50 なら 0 です。10 で割った余りと同じです。
- 4
10 から1の位を引く。1の位が 0 ならチェックデジットは 0
「(10 -(合計 ÷ 10 の余り)) ÷ 10 の余り」と書くと、0 の場合もまとめて1つの式で表せます。
短縮タイプ(JAN-8)の 4901234 で計算すると、右から 4×3+3×1+2×3+1×1+0×3+9×1+4×3=12+3+6+1+0+9+12=43。1の位は 3 なので 10-3=7 で、8桁は 49012347 です。4512345 なら合計がちょうど 50 になり、チェックデジットは 0(45123450)です。
種類別の計算例:JAN-8・UPC-A・ITF-14・書籍 JAN・インストアコード
GTIN と呼ばれる商品コードのなかまは、桁数が違ってもチェックデジットの計算は同じです。種類ごとに、チェックデジットを除いた桁数と計算例をまとめました。
| 種類 | 全体の桁数 | 計算に使う桁数 | 例(チェックデジットを除く) | 合計 | チェックデジット | できあがり |
|---|---|---|---|---|---|---|
| JAN-13(EAN-13) | 13 | 12 | 456995111617 | 121 | 9 | 4569951116179 |
| JAN-8(短縮タイプ) | 8 | 7 | 4901234 | 43 | 7 | 49012347 |
| UPC-A(アメリカ・カナダ) | 12 | 11 | 03600029145 | 58 | 2 | 036000291452 |
| ITF-14(集合包装用) | 14 | 13 | 1456995111617 | 124 | 6 | 14569951116176 |
| ISBN-13(書籍 JAN 1段目) | 13 | 12 | 978410101001 | 56 | 4 | 9784101010014 |
| 書籍 JAN 2段目 | 13 | 12 | 192009301500 | 76 | 4 | 1920093015004 |
| インストアコード(価格入り) | 13 | 12 | 021234500398 | 75 | 5 | 0212345003985 |
- UPC-A:先頭に 0 をつけると13桁の JAN(EAN-13)として読めます。0 は何をかけても 0 なので、チェックデジットは変わりません(036000291452 → 0036000291452)。
- ITF-14:単品の JAN からチェックデジットを外した12桁の前に、入り数の違いを表すインジケータ(1〜8)を1桁つけ、チェックデジットを計算し直します。元の JAN の末尾 9 が、ITF-14 では 6 に変わっている点に注意してください。
- 書籍 JAN コードの2段目:「192 + C コード(分類コード)4桁 + 本体価格(税抜)5桁」の12桁にチェックデジットをつけます。例は C0093(一般・単行本・日本文学の小説)、本体 1,500 円です。
- インストアコード:02 と 20〜29 から始まる、お店の中だけで使う番号です。例は「02 + 商品番号 12345 + 価格 398 円」で、レジで価格を読む設定にして使います。
ISBN-10 は 11 で割る。チェックデジットが X になる理由
2006年までの本についている10桁の ISBN は、JAN コードとは違う計算をします。最初の9桁に、左から 10・9・8・7・6・5・4・3・2 をかけて足し、合計を 11 で割った余りを 11 から引きます。答えが 10 になったら X、11 になったら 0 と書きます。
| ISBN-10 の9桁 | かけて足した合計 | 11 で割った余り | 11 - 余り | チェックデジット |
|---|---|---|---|---|
| 4-10-101001 | 40+9+0+7+0+5+0+0+2=63 | 8 | 3 | 3(4-10-101001-3) |
| 4-10-000074 | 40+9+0+0+0+0+0+21+8=78 | 1 | 10 | X(4-10-000074-X) |
X はローマ数字の 10 です。11 で割る方式では答えが 0〜10 の11通りあり、1桁の数字では書ききれないため、10 だけを X で表しています。X は誤植ではないので、通販サイトなどで検索するときもそのまま入れてください。
ISBN-10 を13桁にするときは、先頭に 978 をつけ、最後の1桁を JAN コードと同じ方式で計算し直します。4-10-101001-3 は 978-4-10-101001-4、4-10-000074-X は 978-4-10-000074-0 になります。13桁の ISBN は JAN コードそのもので、本の裏表紙の1段目のバーコードとして印刷されています。
Excel・Google スプレッドシートでチェックデジットを出す式
A1 セルに12桁の JAN コードを入れておき、別のセルに次の式を入れるとチェックデジットが出ます。Google スプレッドシートでも同じ式が使えます。
| やりたいこと | 式(A1 に番号) |
|---|---|
| 12桁からチェックデジットを出す | =MOD(10-MOD(SUMPRODUCT(MID(A1,{1,3,5,7,9,11},1)*1)+SUMPRODUCT(MID(A1,{2,4,6,8,10,12},1)*3),10),10) |
| 12桁から13桁にする | =A1&MOD(10-MOD(SUMPRODUCT(MID(A1,{1,3,5,7,9,11},1)*1)+SUMPRODUCT(MID(A1,{2,4,6,8,10,12},1)*3),10),10) |
| 13桁が正しいか確かめる(TRUE なら正しい) | =MOD(SUMPRODUCT(MID(A1,{1,3,5,7,9,11,13},1)*1)+SUMPRODUCT(MID(A1,{2,4,6,8,10,12},1)*3),10)=0 |
MID(A1,{1,3,5,…},1) で奇数番目の数字を取り出して 1 をかけ、偶数番目には 3 をかけて足しています。左から数えて偶数番目に 3 をかけるのは、12桁の JAN のときだけ成り立つ書き方です。短縮タイプの7桁や ITF-14 の13桁に使うときは、右端に 3 がかかるように位置の組を入れ替えてください。
- セルの書式を「文字列」にしてから番号を入れる。数値のままだと、先頭の 0(UPC やインストアコードの 02)が消えたり、4.57E+12 のような指数表示になったりする
- CSV から貼り付けた番号は、前後に空白やハイフンが入っていないか確かめる。MID は空白も1文字として数える。CSV を Excel で開くと商品名が文字化けするときはCSV の文字化けの直し方を参照
- 13桁の列に誤って12桁の式を使うと、13桁目が無視されて別の答えになる
チェックデジットで見つかる間違い・見つからない間違い
チェックデジットは、バーコードの読み間違いや手入力の打ち間違いを見つけるためにあります。ただし、すべての間違いを見つけられるわけではありません。JAN コードの方式で見つけられる範囲は次のとおりです。
| 間違いの種類 | 見つかる割合 | 理由・例 |
|---|---|---|
| 1桁だけ違う | 100% | 1 や 3 をかけて 10 の倍数だけずれる数字の組がないため、必ず合計の1の位が変わる |
| 隣どうしの入れ替え | 約 89%(90 通り中 80 通り) | 2つの数字の差がちょうど 5(0と5、1と6、2と7、3と8、4と9)のときだけ見逃す |
| 2桁以上がばらばらに違う | 約 90% | たまたま合計の1の位が同じになる確率がおよそ 10 分の 1 |
たとえば 4569951116179 の9番目と10番目(1 と 6)を入れ替えた 4569951161179 は、チェックデジットの確認をそのまま通ってしまいます。1 と 6 の差が 5 だからです。一方、末尾の 7 と 9 を入れ替えた 4569951116197 は正しくないと判定され、ツールでは「隣どうしを入れ替えると正しくなる候補」として 4569951116179 が出ます。
チェックデジットが合っていても、その番号が実在する商品とは限りません。取引先から届いた一覧の確認では、チェックデジットで打ち間違いを減らしたうえで、商品名や規格と照らし合わせるのが確実です。
よくある計算ミスと、チェックデジットだけでは足りないこと
- 左端から 3 をかけてしまう:13桁の JAN は左端(先頭の 4)には 1 をかけます。3 から始めると、ほとんどの場合違う答えになります
- 合計の1の位が 0 のときに「10」と書く:チェックデジットは必ず1桁で、この場合は 0 です
- 13桁にさらにチェックデジットをつける:13桁がすでにあるなら、最後の1桁がチェックデジットです。確かめたいときは外してから計算します
- 合計を 10 で割った「商」を使う:使うのは余り(1の位)です
- ISBN-10 の X を消す・0 にする:X は 10 を表す正しいチェックデジットです。13桁に直すと別の数字に変わります
また、チェックデジットを正しく計算できても、それだけでは正式な JAN コードになりません。お店や通販サイトで売る商品には、GS1 Japan で事業者コードを登録し、その範囲の番号を使う必要があります(登録には申請料がかかり、一定期間ごとの更新があります)。登録せずに自由に使えるのは、02 と 20〜29 から始まるインストアコードだけで、これは自分のお店の中でしか使えません。
印刷するバーコードの大きさにも決まりがあります。倍率 100% の JAN バーコードは、いちばん細いバーが 0.33mm、左右の余白を含めた幅が 37.29mm で、読み取りやすさのため 80〜200% の範囲で使います。余白(クワイエットゾーン)に絵や文字を入れない、背景は白や淡い色・バーは黒や濃い色にする、印刷したら実際のスキャナーで読めるか確かめる、が基本です。読み取れないときの原因の切り分けは、QRコードが読み取れないときの対処と共通する点が多くあります。
JAN コード チェックデジット計算ツールで確かめる・バーコードにする
JAN コード チェックデジット計算・バーコード作成ツールに12桁を入れると、チェックデジットをつけた13桁と、この記事の表と同じ「位置・数字・かける数・積」の計算の途中が表示されます。13桁を入れれば正しいかを判定し、間違っていれば隣どうしの入れ替えや1桁違いで正しくなる候補を出します。ハイフンや全角数字のまま貼り付けてもかまいません。
- 1
番号を入れる
12桁ならチェックデジットの計算、13桁なら確認になります。種類が分かっていれば JAN-8・UPC-A・ITF-14・ISBN-10 を選びます。12桁は自動判別では JAN-13 のチェックデジットなしとみなすので、UPC-A のときは種類を選んでください。
- 2
たくさんの番号はまとめて計算する
「一括計算」に1行ずつ貼り付けると、全部の結果をタブ区切りでコピーして Excel に戻せます。
- 3
必要ならバーコードにする
倍率とバーの高さを選び、実寸の SVG か 300〜1200dpi の PNG で保存します。書籍 JAN コードの2段バーコード、インストアコード、ITF-14 も作れます。
入力した番号は端末の中だけで計算し、どこにも送信しません。社外に出していない新商品の番号でも、安心して確かめられます。
よくある質問
- JAN コードのチェックデジットはどうやって計算しますか?
- チェックデジットを除いた12桁の右端から順に 3・1・3・1… をかけて足し、合計の1の位を 10 から引きます。456995111617 なら合計 121、1の位の 1 を 10 から引いて 9 なので、JAN コードは 4569951116179 です。1の位が 0 のときはチェックデジットも 0 です。
- チェックデジットが 10 になることはありますか?
- JAN コードではありません。合計の1の位が 0 のときは、10 ではなく 0 にします。たとえば短縮タイプの 4512345 は合計がちょうど 50 なので、チェックデジットは 0(45123450)です。10 にあたる値を X と書くのは、11 で割る ISBN-10 だけです。
- 左から数えて奇数番目に 1、偶数番目に 3 をかけるのは正しいですか?
- 13桁の JAN(チェックデジットを除いて12桁)なら正しいです。ただし本来のルールは「チェックデジットのすぐ左から 3・1・3・1…」なので、8桁の短縮 JAN(7桁で計算)では左から奇数番目に 3 をかけ、14桁の ITF-14(13桁で計算)でも左から奇数番目に 3 をかけます。
- ISBN の最後が X なのは間違いですか?
- 間違いではありません。10桁の ISBN は 11 で割る方式で計算するため、チェックデジットが 10 になることがあり、そのときはローマ数字の X で書きます。4-10-000074 の9桁なら合計 78、11 で割った余りが 1 で、11-1=10 なので X です。13桁に直すと 978-4-10-000074-0 になります。
- Excel でチェックデジットを出すにはどうすればいいですか?
- A1 に12桁を文字列で入れ、=MOD(10-MOD(SUMPRODUCT(MID(A1,{1,3,5,7,9,11},1)*1)+SUMPRODUCT(MID(A1,{2,4,6,8,10,12},1)*3),10),10) と入れます。先頭に A1& をつけると13桁で表示できます。セルが数値のままだと先頭の 0 が消えたり指数表示になったりするので、書式を文字列にしてください。
- チェックデジットが合っていれば、番号は正しいと言えますか?
- 言い切れません。1桁だけの間違いは必ず見つかりますが、隣どうしの入れ替えのうち差が 5 の数字(1 と 6 など)は見逃し、2桁以上の間違いもおよそ 10 回に1回は通ってしまいます。また、チェックデジットが合っていても、その番号の商品が実在するとは限りません。
- 自分で決めた番号にチェックデジットをつければ JAN コードとして使えますか?
- 店頭や通販サイトで売る商品には使えません。GS1 Japan で事業者コードを登録し、その範囲で番号を振る必要があります。登録なしで自由に作れるのは 02・20〜29 から始まるインストアコードで、自分のお店の中だけで使えます。
- ITF-14 のチェックデジットは JAN と同じですか?
- 計算方法は同じです。インジケータ1桁と JAN の12桁を並べた13桁の右端から 3・1・3・1… をかけて足し、10 から1の位を引きます。4569951116179 の箱用(インジケータ 1)なら 1456995111617 の合計が 124 になり、チェックデジットは 6 で 14569951116176 です。元の JAN の末尾 9 は使いません。
この記事で紹介したツール
あわせて読みたい
UTCとJSTの違い|世界標準時から日本時間に変換する方法
海外サービスの表示時刻やAPIのログに出てくる「UTC」。日本時間との関係さえ押さえれば、変換は暗算でできます。この記事では、UTC・GMT・JSTの違いと+9時間の数え方、日付をまたぐときの注意点、時刻表記の読み方をまとめます。
記事を読む →一粒万倍日とは|2027年の日付一覧とやること・避けること
一粒万倍日(いちりゅうまんばいび)は、一粒の籾が万倍の稲穂に実るように、この日に始めたことが大きく育つとされる吉日です。月に4〜7回あり、2026年は64日、2027年は60日あります。この記事では、2026年10月〜2027年12月の日付一覧、日付の決まり方、向いていること・避けたほうがよいこと、ほかの吉日や凶日と重なる日の扱いをまとめます。
記事を読む →有給休暇の年5日取得義務とは|対象者・期限・数え方
2019年4月から、会社は年10日以上の有給休暇が付与される人に、年5日を必ず取らせることが義務になりました。この記事では、義務の対象になる人、5日を取り終える期限の数え方、半日や時間単位の休暇・計画年休の扱い、会社が取得日を指定する時季指定の流れ、守られなかった場合の罰則までをまとめます。
記事を読む →