← Device Access
WebHID
Probing…WebHID is a web platform capability in the Device Access category. Communicate with human-interface devices beyond keyboard/mouse. Supported in Chromium 89+; not available in Firefox and Safari. Requires a secure context (HTTPS or localhost) and a user gesture such as a click or tap.
Secure contextUser gesture
Try it
Loading demo…
Code
const [device] = await navigator.hid.requestDevice({ filters: [] })
console.log(device.productName, device.collections.length, 'collections')
await device.open()
device.addEventListener('inputreport', (e) => {
const bytes = [...new Uint8Array(e.data.buffer)]
console.log('report', e.reportId, bytes)
})Browser support
Chromium
89
Firefox
No
Safari
No
Frequently asked questions
Which browsers support WebHID?
Supported in Chromium 89+; not available in Firefox and Safari.
Does WebHID require HTTPS?
Yes. WebHID needs a secure context, so it only works over HTTPS (or on localhost during development).
What is WebHID used for?
Communicate with human-interface devices beyond keyboard/mouse.
Can I try WebHID in my browser?
Yes. shwcs.net runs a live WebHID demo that probes your current browser and lets you try the API. Everything runs locally — nothing is sent anywhere.