# Barcode Scanner

> カメラで EAN-13 / UPC / Code 128 / QR を連続スキャン。読み取るたびに自動カウント、品名や数量も編集して CSV に書き出せます。映像は一切アップロードされません。

- URL: https://bytescope.dev/ja/barcode-scanner/
- Locale: ja · Also: [en](https://bytescope.dev/en/barcode-scanner.md) · [zh-Hant](https://bytescope.dev/zh-Hant/barcode-scanner.md)
- Runs: 何もアップロードされません。バーコードの読み取りも在庫データも、すべてブラウザ内に留まります。
- Requires: Any modern browser with camera access. Uses the browser's Barcode Detection API where present; elsewhere a built-in JavaScript QR decoder takes over, so 1D barcodes (EAN, UPC, Code 128) need the native API.
- Updated: 2026-09-08

## What it does

アプリも拡張機能もインストールせずに、端末のカメラで 1D バーコードと QR コードをその場で読み取れます。スマホ・タブレット・ノート PC がそのまま棚卸し用のカウンターになり、読み取った商品は数量・時刻・編集できる品名つきのリストに自動で集計されます。結果はそのまま CSV としてダウンロードできます。

### 1.5 秒デバウンス付きのリアルタイム棚卸しカウント

一般的なバーコードリーダーは読み取った文字列を表示するだけで、1 件ずつコピー＆ペーストする必要があります。このツールには棚卸しの流れが最初から組み込まれており、バーコードを読むたびに在庫表のカウントが即座に +1 されます。商品をレンズの前にかざしたままでも二重に数えないよう、同じバーコードが 1.5 秒以内に繰り返し検出された場合は 1 回だけ数えます。読み取り漏れではなく、意図的な仕様です。

### ブラウザネイティブの Shape Detection API と対応環境

バーコード検出には Chromium のハードウェア支援付き Shape Detection API（`BarcodeDetector`）をそのまま使っています。EAN-13、EAN-8、UPC-A、UPC-E、Code 128、QR コードを、カメラのフレームレートのままデコードできます。jsQR のような純 JavaScript のリーダーは QR しか解読できず、EAN や Code 128 などの 1D バーコードには対応できないため、Firefox や Safari 向けの代替実装は不可能です。Chromium 系ブラウザ（Chrome、Edge、Opera、Brave）でお使いください。

### データを一切アップロードしないローカル保存

カメラ映像はすべてブラウザ内でリアルタイムに処理され、録画・送信・アップロードは一切行いません。タブを切り替えたりウィンドウを最小化したりすると、バッテリー節約とプライバシー保護のためカメラは自動で停止します。自動では再開しないので、戻ったら「カメラを開始」を押してください。在庫リストと品名は端末の `localStorage` に保存されるため、アカウントなしで次回も続きから使えます。

### Excel とデータベース向けの 2 種類の CSV 出力

棚卸しが終わったら、在庫表をワンクリックでダウンロードできます。UTF-8 BOM 付きの Excel 向け CSV を選べば、日本語や中国語の品名が Microsoft Excel で文字化けせずに開けます。BOM なしの標準 UTF-8 CSV は、Google スプレッドシートや SQL データベース、Python スクリプト、倉庫管理システムでの取り込みに向いています。

## Limits

Does not look up product names or prices online; it decodes codes and keeps a local tally you can export.

## FAQ

### 棚卸しカウントモードはどう動きますか？

カメラがバーコードや QR コードを認識するたびに、その商品が在庫表に追加されて数量 1 で登録されます。同じコードをもう一度読むと +1 されます。ただし同じバーコードが 1.5 秒以内に連続検出された場合は 1 回だけ数えるデバウンス処理が入っているため、一度かざしただけで大量にカウントされることはありません。

### Firefox や Safari でカメラスキャンが動かないのはなぜですか？

このツールは Chromium エンジン（Chrome、Edge、Brave、Opera）が提供するネイティブの `BarcodeDetector` API を使っています。Firefox と Safari は現時点で Shape Detection API に対応していません。jsQR のような純 JavaScript のライブラリは QR コードしか解読できず、EAN-13 や Code 128 といった 1D バーコードは読めないため、クライアント側での代替（ポリフィル）も提供できません。

### カメラ映像や在庫データはサーバーに送信されますか？

いいえ。バーコード検出も在庫管理も、すべて端末内のクライアントサイド JavaScript で完結します。カメラ映像はメモリ上で処理されてブラウザの外に出ることはなく、在庫リストもブラウザのローカルストレージにだけ保存されます。

### タブを切り替えたらカメラが止まったのはなぜですか？

プライバシー保護とバッテリー節約のため、タブが非表示になったりバックグラウンドに回ったりするとカメラは自動で停止します。自動では再開しないので、タブに戻ったら「カメラを開始」を押してスキャンを再開してください。

### 2 つの CSV 出力オプションは何が違いますか？

Excel 向け CSV は先頭に UTF-8 の BOM（Byte Order Mark）を付けるため、Microsoft Excel が文字コードを正しく認識し、日本語などの品名が文字化けしません。標準 UTF-8 CSV は BOM なしのプレーンなカンマ区切りテキストで、Google スプレッドシートやデータベース、スクリプト処理に向いています。

## Related tools

- [QR File Transfer](https://bytescope.dev/ja/qr-file-transfer.md) — アニメーション QR コードで、端末間でファイルを直接転送できます。
- [CSV Explorer](https://bytescope.dev/ja/csv-explorer.md) — 大きな CSV / TSV ファイルをブラウザで開いて表示・絞り込み・並べ替え・書き出し。
