Skip to content
Curated list of resources relating to the WebHID (Human Interface Device) API
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information. Add BlinkStick strip demos (#8) Oct 22, 2019 Contribution guidelines Mar 29, 2019

Awesome WebHID Awesome

Curated list of resources relating to the WebHID (Human Interface Device) API

WebHID is a browser API (navigator.hid) that provides access to HID input/output devices. It's a higher level of abstraction than the WebUSB and Web Bluetooth APIs, but lower than the Gamepad API and basic input (pointer/keyboard).

Contributions welcome. Add links through pull requests or create an issue to start a discussion. See contribution guidelines.



Always up to date information - Chrome Platform Status: WebHID

As of 19 September 2019:

  • Available behind a flag in version 78.
  • Origin trials expected in version 80 (estimated stable early 2020).
  • Release expected in version 83.

Good to know

  • WebHID is not a W3C Standard nor is it on the W3C Standards Track(ref).
  • Devices that generate trusted input (e.g. keyboards, mice, security keys) will not be accessible. Such devices define their reports in top-level HID collections that will be considered protected usages(ref1), (ref2).
  • Access to a device must be granted by the user via a chooser dialog provided by the browser, similarly to WebUSB and Web Bluetooth. Launching the chooser must be done from the context of a user gesture (e.g. a mouse click).
  • Neither the WebUSB(ref) or Web Bluetooth(ref) APIs allow access to HID-class devices.

Specification & documentation

Blogs & articles

Talks & videos

None yet.


Devices that work well with WebHID, and device-specific abstraction libraries. Do also file an issue to inform others of devices that don't. Not all devices in the USB HID device class will communicate using the high-level abstractions.



Software that aids working with devices.

  • USBDeview - View device information.
  • USB Device Tree Viewer - View device information including interface and HID descriptors.
  • node-hid - Cross-platform library for accessing USB HID devices from Node.js or Electron.

Bluetooth, USB, & HID reference

Information about the underlying technologies, including specifications and explanations.

Demos, experiments & hacks

Real-world applications

  • Ergometer Space - Track your indoor rowing exercise, alone or with other online users.

Inspiration from elsewhere

Transferrable inspiration from related areas such as general Bluetooth/USB HID, Web Bluetooth, and WebUSB.


Great idea, no time or no device? File an issue to share.

  • Device explorer tool - Web tool for conveniently viewing device info, monitoring input reports, and sending output/feature reports; something in the style of this one for Web Bluetooth.

Forums & discussion


None yet.




You can’t perform that action at this time.