本文へ移動
Develop Tools
← 使い方ガイドへ戻る

画像・スクリーンショットからバーコードを読み取る方法

メール、PDF、Web画面で受け取ったバーコードは、別端末のカメラを使わず画像のまま解析できます。元画像と余白を残し、結果はRaw値と形式の両方で確認します。

入力値と用途からバーコード形式を選び、生成・読み取り確認を行う流れ
入力値と用途からバーコード形式を選び、生成・読み取り確認を行う流れ

バーコードをBrowser内で生成・画像やカメラから読み取る

入力値、画像、Camera Frameを外部へ送信せず、対応形式の生成と読取を同じページで確認できます。

バーコード画像を読み取る

結論:再圧縮前の元画像を読み込み、Raw値と形式を元資料へ照合する

PNG、JPEG、WebP、GIF、BMPを選択・Drop・Clipboard貼り付けでき、対応BrowserのBarcodeDetectorと同梱ZXingを順に試します。

画像内に複数のBarcodeがある場合、Native APIは複数結果を返せることがありますが、Fallbackや画像条件によって最初の1件だけになるため一括検出を保証しません。

番号の正しさ、画像生成、読み取り成功、業務規格への適合は別々に確認してください。

画像FileとBarcode部分を分けて確認する

まず対応形式として画像を開けるか、次にBarcode全体と左右余白が入っているか、最後に線が潰れずContrastがあるかを確認します。

HEICやPDF自体は画像入力として直接扱いません。必要なら画像変換やScreenshotでPNG / JPEGへし、Barcodeを切り落とさないよう保存します。

確認対象確認方法判断
File拡張子・MIME対応画像
構図左右余白・全体切れなし
結果Raw値・形式元資料一致
複数件数・位置1件ずつも確認

バーコード生成・読み取りツールで確認する手順

  1. 画像を選択・Drop・貼り付けします。
  2. PreviewでBarcode全体と余白を確認します。
  3. 解析結果の形式とRaw値を確認します。
  4. 値をCopyし、元資料または別Readerと照合します。

機密の管理番号や会員番号を含む画像は、外部ReaderへUploadする前に取扱条件を確認してください。

画像Readerの切り分け

症状最初の確認次の対応
画像が開かないFile形式PNG / JPEGへ変換
検出しない余白・線幅元画像で再試行
値が違う検出形式別Readerで比較
複数を逃す配置・件数1件ずつCrop

値の用途と文字種からバーコード形式を選ぶ

形式主な入力現行ツールでの扱い
JAN-13 / EAN-1312桁の本体値または13桁の完成値12桁ならチェックデジットを追加、13桁なら検証
JAN-8 / EAN-87桁の本体値または8桁の完成値7桁なら追加、8桁なら検証
UPC-A11桁の本体値または12桁の完成値11桁なら追加、12桁なら検証
ITF-1413桁の本体値または14桁の完成値13桁なら追加、14桁なら検証
Code 128英数字・記号等管理番号などを柔軟に表現。入力可能文字はEncoderの仕様も確認
Code 39大文字英数字、Space、.-$/+%小文字は大文字へ変換して生成
ITF偶数桁の数字奇数桁や数字以外をErrorとして案内
Codabar / NW-7数字・一部記号、A~Dの開始終了文字開始終了文字を含む規則を検証

バーコードは同じ値でも形式が違えばバーとSpaceの並びが変わります。Readerが返したRaw値だけでなく検出形式も確認し、利用するレジ、ハンディScanner、物流Systemが受け入れる形式と合わせます。

チェックデジットと正式な識別番号を混同しない

JAN / EAN / UPC / ITF-14の末尾には、前の桁から計算するチェックデジットがあります。DevelopToolsは本体桁なら末尾を計算し、完成桁なら一致を検証します。これは入力誤りを見つける仕組みであり、その番号が商品へ正式に割り当てられていることを証明するものではありません。

  • GTIN-13(JAN標準タイプ)は12桁の本体値と1桁のチェックデジットで構成する
  • GTIN-8(JAN短縮タイプ)は7桁の本体値と1桁のチェックデジットで構成する
  • 商品流通へ使うGTINはGS1事業者コードや商品情報登録のルールに従う
  • 任意の数字から画像を生成できても、正式なJANコードの取得・登録にはならない

Quiet Zone・線幅・高さ・Contrastを最終媒体で確認する

一次元バーコードは左右の何も印刷しないQuiet Zone、最も細いBarまたはSpaceの幅であるX-dimension、Barの高さ、背景とのContrastまで含めて読み取り条件を作ります。画面で読めても、縮小、画像補間、印刷の滲み、光沢、折れ、低解像度で失敗することがあります。

確認失敗しやすい状態対処
Quiet ZoneBarの直前まで文字・枠・画像がある左右の空白を残して再生成・再配置
線幅縮小や非整数倍率で細線が潰れる目的Sizeで生成し、縦横比を変えない
Contrast薄いBar、暗い背景、複数色のBar暗い単色Barと明るい単色背景を優先
画像品質JPEG再圧縮、Blur、反射、低解像度元PNG / SVGから作り直し実物で試す
印刷ページに合わせるで意図せず拡縮実寸を測り、利用するScannerで確認

生成から実利用までをRound Tripで検証する

  • 入力値と形式を確定し、生成後の表示値・チェックデジットを確認する
  • PNGとSVGを保存し、ツールの画像Readerへ戻してRaw値と形式を照合する
  • 回転、縮小、Screenshot、印刷など実際の工程を通した状態で再読取する
  • 同じLibraryでの自己Testだけで終わらせず、利用予定のScannerや端末でも確認する
  • 読取失敗時は形式、桁数、Quiet Zone、線幅、Contrast、画質を一項目ずつ切り分ける

同じBrowserで生成して同じBrowserで読めたことは有用な回帰Testですが、店舗Scanner、物流Scanner、印刷機、紙質まで含む適合性の保証ではありません。業務利用では対象機器と実物Labelでの検証を完成条件にします。

入力値・画像・カメラ映像はBrowser内で処理する

現行ツールは同梱LibraryをBrowserで実行し、生成する値、読み取る画像、Camera Frame、復号したRaw値をDevelopToolsのServerや第三者APIへ送信しません。画像選択時のObject URLは利用後に解放し、Camera停止時はMediaStreamのTrackを停止します。

  • Raw値を商品検索APIへ自動送信しない
  • Cameraは利用者が開始Buttonを押した後だけ権限を要求する
  • 読取成功Eventを計測する場合も、Raw値や画像そのものをAnalyticsへ含めない
  • バーコードは暗号化ではないため、秘密情報を符号化して公開しない

現行ツールで生成・読み取りできる範囲

機能現行ツールの対応
生成形式Code 128、Code 39、JAN-13 / EAN-13、JAN-8 / EAN-8、UPC-A、ITF、ITF-14、Codabar / NW-7
生成設定横倍率、高さ、左右のQuiet Zone、人が読める文字の表示、バー色・背景色
生成結果確定値・チェックデジット・形式の表示、PNG・SVG保存
画像入力PNG、JPEG、WebP、GIF、BMPの選択・ドロップ・Clipboard貼り付け
読取処理対応BrowserではBarcodeDetectorを先に試し、検出できなければ同梱ZXingへFallback
カメラ明示操作後に背面Cameraを優先して開始し、停止時にMediaStreamを解放
未対応UPC-E・GS1-128・GS1 DataBar・DataMatrixの生成、商品Database検索、業務用Barcode品質検証

画像Readerは検出形式とRaw値を表示します。ただし、BarcodeDetectorが返せる形式はBrowserごとに異なり、同梱ZXingの画像Fallbackは基本的に最初の検出結果を扱います。複数コードの一括検出や、すべての規格を同じ精度で読めるとは案内しません。

規格とWeb APIは一次資料で確認する

正式なGTIN設定とBarcode寸法はGS1 / GS1 Japan、Browser対応は実際のBarcodeDetector.getSupportedFormats()と互換表、Camera権限はgetUserMedia仕様、Library APIは利用Versionの公式Documentationを優先します。DevelopToolsの生成Libraryはbwip-jsであり、JsBarcodeの記事例と現行実装を混同しません。

具体例:帳票のScreenshotから管理番号を読む

Barcode左右の空白が残る範囲でScreenshotを保存し、ReaderへDropします。

検出形式とRaw値を確認し、帳票に印字された人間可読文字と一致するか照合できます。

  1. 元画像保存
  2. Drop
  3. 形式・値確認
  4. 印字値と照合

Screenshotの再ResizeやSNS再保存は細線をぼかすため、可能なら元画像を使います。

よくある質問

JANコードは好きな数字から作れますか?
画像生成だけなら桁数とチェックデジットが正しい数字を描けますが、流通商品へ正式に使えるGTINになるわけではありません。GS1事業者コードと商品情報の設定・登録ルールを確認してください。
画面で読めれば印刷後も必ず読めますか?
保証できません。印刷Size、Quiet Zone、最小線幅、滲み、紙やLabelの反射、Scanner性能が変わるため、実寸の印刷物と利用予定機器で確認してください。
読取結果から商品名も分かりますか?
現行ツールが取得するのはバーコードへ符号化されたRaw値と検出形式です。商品名や価格を取得する外部商品Databaseには接続しません。