All specs
WICG WebUSBW3CNicheProduct

WebUSB API

Device Access & Sensors·World Wide Web Consortium
WHY YOU NEED THIS

Enables web-based firmware updates, microcontroller programming (Arduino, ESP32), and custom USB device control without native drivers. Chrome-only but the only web path to raw USB access.

What It Defines

Defines navigator.usb.requestDevice() for accessing USB devices from the browser. Supports device filters (vendorId, productId), configuration/interface/endpoint selection, and control/bulk/interrupt/isochronous transfers. User-driven device picker provides the security model.

Canonical (Normative)

Convenient (Practical)

usbhardwarefirmwaremicrocontrollerdevice-accessbrowser
Standards Body
World Wide Web Consortium

Publishes web platform specs including CSS, accessibility, security policies, Service Workers, Web App Manifest, and many browser APIs. Also maintains some versioned HTML/DOM specs.

Visit

Related Specs

WICG Web SerialW3CNiche

Web Serial

Enables web-based communication with serial devices: Arduino/microcontroller consoles, GPS receivers, lab equipment, POS terminals, and CNC machines. Uses the Streams API for data flow.

ProductDevice Access & Sensors
Details
WICG WebHIDW3CNiche

WebHID

Enables web apps to access HID devices that the Gamepad API doesn't cover: custom controllers, macro pads, LED strips, barcode scanners, and specialized input devices. Complements Gamepad API for non-standard controllers.

ProductDevice Access & Sensors
Details
W3C PermissionsW3CMust Know

Permissions

The gating mechanism for every sensitive browser API. Check permission state before requesting access to avoid unexpected prompt dialogs. The change event lets you react when users revoke permissions in browser settings.

ProductDevice Access & Sensors
Details