バーコードを読み取り、その番号の意味まで読み解きます
バーコードスキャナーは、スマートフォンのカメラや写真に写ったバーコードを読み取り、中の番号と形式を表示するツールです。読み取った値が商品番号(GTIN)なら、さらに先まで読み解きます。たとえば 8801234560016 を読むと、先頭の 880 は GS1 Korea が発行した番号であること、中ほどの 123456001 が事業者コードと商品コードであること、末尾の 6 が前の12桁から計算したチェックデジットと一致することが分かります。結果カードには、バーを符号の規則どおりに描き直し、その下に3つの区間を色分けして示します。
カメラを起動したまま商品を順に映すと、読み取ったコードがスキャン一覧に溜まり、同じコードは行が増えずに数量だけが増えます。読み終えたら「すべてコピー」またはCSV保存で、棚卸しの一覧をすぐ作れます。QRコードやData Matrixなどの2次元コードも読め、使用期限やロット番号を含むGS1コードは項目ごとに分けて表示します。映像と写真はこのブラウザの中だけで読み取り、どこにも送信しません。
バーコードを自分で読み解きたくなる場面
レジのスキャナーは、番号を読むとすぐ店舗の商品情報に結び付けるため、バーコードの中に実際に何が入っているかは見えません。次のように、番号そのものが必要なときにこのツールが役立ちます。
- 棚卸し・在庫リスト: 倉庫や店頭の棚を回りながら商品を続けて映せば、商品番号ごとの数量がそのまま集計されます。専用のハンディ端末がなくても、スマートフォン1台でCSVの一覧を作れます。
- ネットショップへの商品登録: モールやカートに商品を登録するとき、JANコード(GTIN)を入力する欄があります。目で見て写すと打ち間違えやすいので、読み取った値をコピーし、チェックデジットでもう一度確かめます。
- 「49なら日本製?」の確認: 海外の商品や見慣れないブランドの先頭の桁から、原産国を推測する人は多くいます。先頭の桁が本当は何を示すのか、GS1の表ですぐ確かめられます。
- 期限・ロットの確認: 箱やラベルのGS1-128、GS1 DataMatrixには、使用期限(17)、ロット番号(10)、シリアル番号(21)などが数字だけでつながって入っています。読み取ると、日付と項目名を付けて分けて表示します。
- ラベル印刷前の検査: バーコード生成ツールで作ったラベルを実寸で印刷して読み取れば、入力した値と読み取れた値が同じかを事前に確認できます。
3つの読み取り方法と一覧の整理
- カメラ: 「カメラを起動」を押して許可すると、まず背面カメラが開きます。バーコードを中央の枠に横向きに合わせると、読み取るたびに音が鳴って枠が表示されます。カメラが複数ある場合は右上で選べ、対応するスマートフォンならライトも点灯できます。
- 写真: 保存した写真やスクリーンショットを選ぶか、ドラッグ&ドロップ、Ctrl+Vで貼り付けます。1枚から最大12個まで見つけて番号付きの枠を描き、番号を押すとそのコードの読み解き結果が結果カードに出ます。
- 番号入力: バーが破れたり消えたりして読み取れないときは、下の数字を自分で入力します。チェックデジットを検査し、最後の1桁を除いて入力すればチェックデジットを計算します。計算の過程は桁ごとに表示されます。
- 一覧の整理: スキャン一覧の「−」「+」で数量を直し、すべてコピー(値・形式・数量をタブ区切り)またはCSVで保存します。一覧はページを閉じると消えます。
読み取れるバーコードの形式
バーの太さで情報を表す1次元バーコードと、小さな四角の点で情報を表す2次元コードの両方を読み取れます。形式の名前はバーを描く規則を指すだけで、その中身が商品番号なのか社内の管理番号なのかは別に判断する必要があります。
| 形式 | 種類 | 主な用途 | 入る値 |
|---|---|---|---|
| EAN-13(JANコード標準タイプ)· UPC-A | 1次元 | 消費者向け商品のパッケージ | 13桁・12桁の商品番号(GTIN) |
| EAN-8(JANコード短縮タイプ)· UPC-E | 1次元 | ガムのような非常に小さな商品 | 8桁の番号。UPC-Eは12桁の番号を短くしたもの |
| ITF-14 | 1次元 | 物流用の箱・まとめ梱包 | 14桁のGTIN-14 |
| GS1-128 · GS1 DataBar | 1次元 | 物流ラベル、重量が一定でない生鮮食品 | 商品番号と、期限・ロット・重量などの項目 |
| Code 128 · Code 39 · Code 93 · Codabar · ITF | 1次元 | 社内の管理番号、伝票、資産・部品の表示 | 英数字(形式により異なる) |
| QR · Data Matrix · PDF417 · Aztec | 2次元 | Webアドレス、小さな部品・医薬品の包装、乗車券 | 文字列全体、GS1の項目 |
日本で「JANコード」と呼ばれるのは、EAN-13(標準タイプ13桁)とEAN-8(短縮タイプ8桁)のことで、形式としては国際規格のEANと同じです。UPC-Aは先頭に0を1つ付けると、同じバーの形のEAN-13になります。そのため UPC-A の 036000291452 と EAN-13 の 0036000291452 は同じ商品番号で、このツールはバーがUPC-Aの規則なら12桁で表示します。UPC-Eは12桁のUPC-A番号から0を省いて8桁にした形式なので、結果カードには元の12桁も展開して示します。たとえば UPC-E の 01234558 は UPC-A の 012345000058 です。
13桁の商品番号は3つの部分でできています
GS1 Korea は13桁の商品番号(GTIN-13)を、国コード、事業者・商品コード、チェックデジットに分けて説明しています。結果カードも同じ順に色を分けます。日本のJANコードでも、仕組みはこれと同じです。
- GS1プレフィックス(先頭の3桁前後): GS1 本部が各国のGS1加盟組織に割り当てた範囲です。加盟組織はこの範囲の中で事業者に番号を発行します。880で始まれば GS1 Korea、45や49で始まれば GS1 Japan が発行した番号です。
- 事業者コードと商品コード: GS1プレフィックスを含む事業者コードは4〜12桁で、残りの桁に事業者が商品ごとの番号を付けます。事業者コードの長さは会社によって違うため、番号を見ただけでは、どこまでが事業者コードかは決められません。
- チェックデジット(末尾の1桁): 前の桁から計算する検算用の数字です。番号を写し間違えたり、バーの一部を読み違えたりすると、ほとんどの場合この数字が合わなくなります。
14桁のGTIN-14は、先頭に包装単位を示す数字が1つ付きます。1〜8は同じ商品をまとめた箱などの包装単位で、9は重量や長さが商品ごとに変わる可変量目の商品に使います。ITF-14を読み取ると、結果カードは先頭の桁の意味と、先頭の桁を除いてチェックデジットを計算し直した13桁の番号(多くは中に入っている商品の番号)を一緒に示します。
先頭の桁の表: 45・49は日本製という意味ではありません
バーコードの先頭を「国コード」と呼ぶため、原産国と取り違えやすくなっています。実際には、番号を発行したGS1加盟組織を指しています。日本の企業が海外の工場で作った商品にも GS1 Japan から取得した49の番号を付けられますし、外国の会社が日本で作った商品が別の先頭の桁を持つこともあります。
"Since GS1 user companies can manufacture products anywhere in the world, GS1 Prefixes do not identify the country of origin for a given product."GS1, GS1 Company Prefix · 2026-10-22確認。GS1 Korea も「国コードが原産地を意味するものではない」と案内しています。
| 先頭の桁 | 発行組織または用途 |
|---|---|
| 450~459, 490~499 | GS1 Japan |
| 880~881 | GS1 South Korea |
| 680~681, 690~699 | GS1 China |
| 471 | GS1 Chinese Taipei |
| 001~019, 030~039, 060~139 | GS1 US(12桁のUPC番号は先頭に0を付けて数えます) |
| 885 | GS1 Thailand |
| 893 | GS1 Vietnam |
| 899 | GS1 Indonesia |
| 400~440 | GS1 Germany |
| 300~379 | GS1 France |
| 800~839 | GS1 Italy |
| 930~939 | GS1 Australia |
| 020~029, 200~299 | 地域内だけで使う番号(店舗の計量ラベルなど) |
| 977 | 定期刊行物(ISSN) |
| 978~979 | 書籍(ISBN)、979の一部は楽譜(ISMN) |
| 981~983, 99 | クーポン |
ツールは、上の表の一部ではなく、GS1ウェブサイトに載っているプレフィックス表の全体で先頭の桁を調べます。表にない範囲や、まだ割り当てられていない範囲はそのように表示します。8桁のGTIN-8は別のプレフィックス表があるため、発行組織の代わりに番号の種類だけを示します。
チェックデジットの計算: 880123456001 → 6
GS1の8・12・13・14桁の番号は、すべて同じ方法でチェックデジットを計算します。最後の桁を除いた数字を、右端から順に3と1を交互に掛けて足し、その合計以上で最小の10の倍数から合計を引きます。
| 桁 | 8 | 8 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 0 | 0 | 1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 掛ける数 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 |
| 積 | 8 | 24 | 0 | 3 | 2 | 9 | 4 | 15 | 6 | 0 | 0 | 3 |
積をすべて足すと74で、74以上で最小の10の倍数は80です。80 − 74 = 6なので、完成した番号は 8801234560016 です。番号入力タブに 880123456001 まで入力すると、同じ計算を桁ごとに表示し、末尾に6を付けるボタンが出ます。
チェックデジットが合っているというのは、番号の形式が正しいという意味にすぎません。その番号が実際に発行されたものか、どの商品に付いているかは分かりません。結果カードの「GS1登録情報」ボタンは、GS1が運営する Verified by GS1 で、企業が登録した情報を探します。
書籍・雑誌・店舗の計量ラベル・クーポンの番号
- 書籍(978・979): 13桁のISBNです。978で始まる番号は従来の10桁ISBNにも変換できるため、結果カードに併記します。たとえば 9780306406157 はISBN-10の 0306406152 です。979は10桁に変換できません。
- 定期刊行物(977): 977に続く7桁はISSNからチェックデジットを除いたもので、その次の2桁は同じ雑誌の価格や曜日別の版を区別する変化番号(通常00)です。9771234567003 はISSN 1234-5679になります。雑誌のバーコードの横にある小さな2桁・5桁の付加記号は、号数などの追加情報で、結果カードに別途表示します。
- 店舗・地域の番号(02、04、20〜29): 精肉・青果の計量ラベルのように、店舗や地域の中だけで使う番号(RCN)です。重量や価格が番号に含まれることもありますが、その規則は地域や店舗によって違うため、ツールでは読み解きません。同じ番号が、別の店では別の商品を指すことがあります。
- クーポン(981〜983、99): 国ごとに決めて使うクーポン番号で、世界で一意の番号ではありません。
使用期限・ロットを含むGS1コードを読む
物流用の箱にあるGS1-128や、小さな包装のGS1 DataMatrixは、かっこ内の2〜4桁の数字(AI、アプリケーション識別子)で項目を区切ります。バーの中にはかっこなしで数字が続いているため、人が読むのは大変ですが、ツールは項目ごとに名前を付け、日付を年-月-日の形に直して示します。
| AI | 項目 | 形式 | 読み取り例 |
|---|---|---|---|
| (01) | 商品番号(GTIN) | 数字14桁 | 08801234560016 |
| (17) | 使用期限 | YYMMDD | 271231 → 2027-12-31 |
| (15) | 賞味期限 | YYMMDD | 270200 → 2027-02-28(日 00 = その月の末日) |
| (11) | 製造日 | YYMMDD | 260930 → 2026-09-30 |
| (10) | ロット・バッチ番号 | 英数字20文字まで | A2610 |
| (21) | シリアル番号 | 英数字20文字まで | SN0001 |
| (3103) | 正味重量(kg) | 数字6桁、4桁目の3 = 小数3桁 | 001250 → 1.250 kg |
| (00) | 物流単位の番号(SSCC) | 数字18桁 | パレットや箱ひとつずつの番号 |
日付の「日」が00のときは、GS1の規格どおりその月の末日として読みます(例: 2016年2月なら29日)。ただし医療用の製品は、2025年1月1日から「日」に00を使わないよう変わりました。2桁の年は、今年を基準に49年前から50年後までの範囲の年として解釈します。GS1は2027年末までに、世界の小売レジで2次元バーコードを読み取れるようにすることを目標に掲げており、商品パッケージでGS1のQRコードやDataMatrixを見る機会も増えています。
うまく読み取れないときに変えてみること
- 距離とピント: 近づきすぎるとピントが合わず、バーがにじみます。手のひら1つ分ほど離し、バーコードが画面の横幅の半分以上を占めるようにします。
- 余白: バーの左右にある白い余白まで画面や写真に入っていないと、始まりと終わりを見つけられません。写真を切り抜くときも余白を残してください。
- 反射と影: フィルム包装に照明が映り込むと、バーの一部が白く飛びます。スマートフォンの角度を少し変えるか、暗い場所ならライトを点けます。
- 丸いボトル・缶: 曲面では、バーコードの両端が細く見えます。バーコードが正面に来るよう、ボトルを回してください。
- 小さくぼやけた写真: 小さなサムネイルを拡大しても、消えたバーは戻りません。メッセージアプリで何度も転送された写真より、元の画像や鮮明なスクリーンショットを使います。
- バーが破れているとき: 下の数字が見えるなら、番号入力タブに写してチェックデジットで確認します。
よくある読み違い
- 45・49を原産国として読む: 先頭の桁は番号を発行したGS1組織です。原産国は、パッケージの原産国表示で確認します。
- 先頭の0を消してしまう: 036000291452 をExcelに貼ると数値に変換されて 36000291452 になります。番号を入れる列を先にテキスト形式にしてから貼り付けてください。CSVを開くときも、列の形式をテキストに指定します。
- 12桁と13桁を別の番号と見る: UPC-Aの12桁の先頭に0を付けた13桁は、同じ商品番号です。システムが13桁を求めるときは、先頭に0を付けます。
- 管理番号を商品番号と見る: Code 128やCode 39から出てきた RB-2610-0042 のような値は、会社が決めた管理番号です。商品番号の形式に直したり、チェックデジットを調べたりしません。
- 読み取れたことを有効とみなす: クーポンや入場券のバーコードを読み取れても、まだ使えるという意味ではありません。使用済みかどうかや期限は、発行元で確認します。
映像・写真・番号はどこで処理されますか
初回の読み取り時に、認識エンジン(ZXing-C++をWebAssembly化したzxing-wasm、約1 MB)をこのサイトから一度だけ取得し、その後のカメラ映像と写真はブラウザ内のワーカー(Web Worker)が読み取ります。映像・写真・読み取った番号はサーバーに送信せず、アドレスバーやブラウザの保存領域にも残しません。カメラは「カメラを起動」を押したときだけ点灯し、別のタブに切り替えたり別の読み取り方法を選んだりすると、すぐに止まります。
「GS1登録情報」ボタンを押すと、その商品番号がアドレスに含まれてGS1のウェブサイトに渡されます。「アドレスを開く」は、QRコード内のWebアドレスを新しいタブで開きます。どちらのボタンも、押す前にはどこにも接続しません。
できないこと・限界
- 商品名・価格・在庫は分かりません。番号をもとに、販売元やGS1登録情報で別に調べる必要があります。
- バーが大きく傷んでいる、写真が小さすぎる、ピントが合っていない場合は読み取れません。レジ用の専用スキャナーよりも読み取り速度は遅めです。
- 先頭の桁の表から分かるのは番号を発行した組織だけで、商品の原産国や製造元は確認できません。
- 店舗・地域の番号(RCN)に含まれる重量・価格や、クーポン番号の細かな構造は、国や店舗ごとに違うため読み解きません。
- ライトとカメラの選択は、ブラウザと端末が対応しているときだけ表示されます。アプリ内ブラウザは、カメラをブロックすることもあります。
- スキャン一覧は保存されないため、ページを閉じる前にコピーするかCSVに保存してください。
基準日 GS1プレフィックス表、GS1 General Specifications(Release 26.0)、AIの形式は2026-10-22に確認しました。
出典
- 01GS1: GS1 Company PrefixGS1プレフィックスの全体表、プレフィックスが原産国を示さないという説明
- 02GS1 General Specifications, Release 26.0チェックデジットの計算(7.9.1)、GS1-8のプレフィックス表、事業者コード4〜12桁、ISSN 977の構造、RCN、UPC-Eの0省略規則、日付の00・世紀規則、付加記号
- 03GS1: Application Identifiers(00)・(01)・(10)・(11)・(15)・(17)・(21)・(310n)などアプリケーション識別子の名称と形式
- 04GS1 Korea: GTIN(商品識別コード)GTIN-8・13・14の構造、大韓民国の国コード880、国コードが原産国ではないという案内
- 05GS1 Korea: EAN/UPCバーコードEAN-13・EAN-8・UPC-A・UPC-Eバーコードの用途
- 06GS1: Verified by GS1商品番号(GTIN)から、企業が登録した情報を調べるGS1のサービス
- 07ZXing-C++このツールが使うバーコード認識エンジン(zxing-wasm 3.1.5でブラウザ上で実行)
- 08MDN: MediaDevices.getUserMedia()カメラの権限要求と、NotAllowedError・NotFoundError・NotReadableErrorなどのエラーの意味
よくある質問
スマートフォンのカメラで商品のバーコードを読み取れますか?
はい。「カメラ」タブで「カメラを起動」を押して許可すると、背面カメラですぐ読み取れます。アプリのインストールは不要です。バーコードを中央の枠に横向きに合わせ、バーの左右にある白い余白まで画面に入れると、読み取りやすくなります。メッセージアプリなどのアプリ内で開いてカメラが起動しない場合は、同じアドレスを標準のブラウザで開いてください。
45・49で始まるバーコードは日本製という意味ですか?
いいえ。45・49は、GS1 Japan が会員企業に番号を発行したという意味です。GS1は、会員企業が世界のどこでも商品を製造できるため、GS1プレフィックスは原産国を示さないと明記しています。海外の工場で作った日本ブランドの商品にも49は使えますし、輸入品が別の先頭の桁を持つこともあります。原産国は、パッケージの原産国表示で確認してください。
880や690など、ほかの先頭の桁はどこの組織ですか?
GS1の表では、880〜881は GS1 South Korea、680〜681と690〜699は GS1 China、450〜459と490〜499は GS1 Japan、001〜019・030〜039・060〜139は GS1 US、400〜440は GS1 Germany です。20〜29は店舗や地域の中だけで使う番号、978〜979は書籍のISBNです。このツールはGS1ウェブサイトのプレフィックス表の全体で、先頭の桁をすぐ調べて表示します。
バーコードの番号から商品名や価格も分かりますか?
このツールが示すのは、読み取った番号と形式、発行組織、チェックデジットまでです。商品名は「GS1登録情報」ボタンで Verified by GS1 に企業が登録した情報を探せますが、すべての商品が登録されているわけではありません。価格は販売店ごとに違うため、バーコードには入っていません。ボタンを押したときだけ、番号がGS1のサイトに渡されます。
チェックデジットはどう計算しますか?
最後の桁を除いた数字を、右端から3、1、3、1…の順に掛けてすべて足し、その合計以上で最小の10の倍数から合計を引きます。880123456001なら合計が74で、80から74を引くと6になるので、完成した番号は8801234560016です。番号入力タブに数字を入れると、この過程を桁ごとに表示します。
1枚の写真に複数のバーコードがあるとどうなりますか?
1枚から最大12個まですべて見つけ、上から下、左から右の順に番号を付けます。写真上の枠や、写真の下に並ぶ見つかったコードの番号を押すと、そのコードを読み解きます。見つけたコードはすべてスキャン一覧に入り、同じ写真をもう一度読んでも二重には数えません。
同じ商品を何度も読み取ると、一覧はどうなりますか?
同じコードは新しい行を作らず、その行の数量が1つ増えます。カメラの前にそのまま映っているコードは再カウントせず、画面から1.5秒以上外れてからまた入ってきたときに1つ加えます。数え間違えた数量は行の「−」「+」で直し、読み終えたらCSVで保存すれば棚卸しの一覧になります。Excelで開くときは、値の列を文字列として取り込むと先頭の0が消えません。
写真やカメラの映像はサーバーに送信されますか?
送信されません。初回の読み取り時に認識エンジン(約1 MB)をこのサイトから一度取得し、その後の映像と写真はブラウザの中だけで読み取ります。スキャン一覧も保存しないため、ページを閉じたり再読み込みしたりすると消えます。必要な一覧は、先にすべてコピーまたはCSVで保存してください。