Skip to content

WebHID API browser support

Published

The WebHID API lets a web app request access to non-standard Human Interface Devices through navigator.hid.requestDevice(), filtered by vendor ID, and exchange input, output, and feature reports with them. requestDevice() resolves with an array of the HID interfaces the chosen device exposes (empty when the user closes the picker), and a device must be opened with open() before sendReport() succeeds; calling it on a closed device rejects with InvalidStateError.

The table covers navigator.hid.requestDevice() and the core HID interface, derived from MDN browser-compat-data.

  • Legend
  • Yes
  • Partial
  • Flag
  • No
  • Unknown
Browser / PlatformSupportVersionsConfidenceSourceNotes
Chrome (Desktop)Yes89highsource—
Chrome (Android)No—highsource1
Edge (Desktop)Yes89highsource2
Firefox (Desktop)No—highsource3
Firefox (Android)No—highsource45
Safari (macOS)No—highsource6
Safari (iOS)No—highsource78
Samsung InternetNo—highsource910
WebView (Android)No—highsource1112
  1. No Chrome Android support is recorded in browser-compat-data.
  2. Derived by browser-compat-data mirroring from Chrome.
  3. No Firefox support is recorded in browser-compat-data.
  4. No Firefox for Android support is recorded in browser-compat-data.
  5. Derived by browser-compat-data mirroring from Firefox.
  6. No Safari support is recorded in browser-compat-data.
  7. No Safari on iOS support is recorded in browser-compat-data.
  8. Derived by browser-compat-data mirroring from Safari.
  9. No Samsung Internet support is recorded in browser-compat-data.
  10. Derived by browser-compat-data mirroring from Chrome Android.
  11. No WebView Android support is recorded in browser-compat-data.
  12. Derived by browser-compat-data mirroring from Chrome Android.

Source data: /compatibility/web-hid.json · Global usage: 37 % (StatCounter 2026-05)

Source: spec · MDN · Last verified 2026-10-03 · Confidence: high (computed from sources)