Skip to main content

For Developers

クロスプラットフォーム WebUSB JavaScript

WebUSB API

標準的な USB インターフェースを使用して、Chrome とハードウェアを直接通信させます。ネイティブドライバやインストールは不要です。

Hero Image
概要

WebUSB は、Chrome から USB デバイスと直接通信できるようにし、Web ベースの体験と従来のハードウェアとのギャップを埋めます。

プリンター、スキャナー、決済端末などのデバイスに最適で、OS 固有のドライバを必要とせず、安全でクロスプラットフォームな接続を実現します。


仕組み

WebUSB API は、Chrome とハードウェアの間に権限ベースのブリッジを提供します。 ブラウザがデバイスと通信する前に、ユーザーがアクセスを承認します。

How It Works Image
主な特長

check_small Chrome から USB デバイスへ直接アクセス可能

check_small ネイティブドライバのインストール不要

check_small クロスプラットフォーム対応(Windows、macOS、Linux、ChromeOS)

check_small 安全な通信を実現する権限ベースのアクセス制御

check_small Web アプリ内の JavaScript ドライバロジックと統合可能


bookmarks

テスト & 開発

Chrome DevTools やブラウザベースのサンプルアプリを使用して、WebUSB 接続を直接テストできます。多くの USB デバイスでは、macOS、Linux、ChromeOS、Android で追加ドライバは不要です。

ユースケース

小売 & POS

バーコードスキャナー、レシートプリンター、カードリーダーと、安全なブラウザベース通信を実現。ネイティブドライバは不要です。

製造 & テスト

Chrome のダッシュボードや QA ツールから、USB 接続デバイスを直接監視・制御します。

医療 & ラボ機器

権限ベースの WebUSB 接続を利用して、診断機器や測定ツールへのアクセスを簡素化します。

教育 & メイカー

学生、ホビイスト、開発者がブラウザから即座にハードウェアを操作できます。


外部リソース

開発者向けドキュメント

開発者向けドキュメント

WebUSB API リファレンス

サンプル

GitHub サンプル

GitHub の WebUSB サンプル

互換性情報

対応環境:

Windows、macOS、Linux、ChromeOS

必要条件:

Windows では WinUSB が必要

非対応:

iOS

技術上の重要事項

Windows では、Chrome が直接通信するために WebUSB デバイスは WinUSB ドライバを使用する必要があります。
開発時には Zadig ツールを使用して WinUSB を適用してください。
本番環境では、OS ディスクリプタを宣言することで Chrome が自動的に正しいドライバを読み込みます。
macOS、Linux、ChromeOS、Android では追加ドライバは不要です。

ヒント

Chrome が USB デバイスにアクセスする前に、必ずユーザーの許可をリクエストしてください。

プラットフォーム補足

Windows では、WebUSB デバイスに WinUSB ドライバが必要です。
開発時は Zadig ツールを使用して WinUSB にバインドしてください。
macOS、Linux、ChromeOS、Android では追加ドライバは不要です。

WebUSB を使うべきケース

次のようなデバイスに適しています

構造化された USB プロトコルで通信するデバイス
ディスクリプタや制御コマンドのやり取りが必要
Chrome を通じた安全で権限ベースのアクセスが必要
Windows、macOS、Linux、ChromeOS、Android で一貫して動作する必要がある

タグ

デバイスアクセス
権限
USB
WebUSB
JavaScript ドライバ
Chrome