Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The GPUAdapter interface of the WebGPU API represents a GPU adapter. From this you can request a GPUDevice, adapter info, features, and limits.

A GPUAdapter object is requested using the GPU.requestAdapter() method.

Instance properties

features Experimental Read only

A GPUSupportedFeatures object that describes additional functionality supported by the adapter.

isFallbackAdapter Experimental Read only

A boolean value. Returns true if the adapter is a fallback adapter, and false if not.

limits Experimental Read only

A GPUSupportedLimits object that describes the limits supported by the adapter.

Instance methods

requestAdapterInfo() Experimental

Returns a Promise that fulfills with a GPUAdapterInfo object containing identifying information about an adapter.

requestDevice() Experimental

Returns a Promise that fulfills with a GPUDevice object, which is the primary interface for communicating with the GPU.


async function init() {
  if (!navigator.gpu) {
    throw Error("WebGPU not supported.");

  const adapter = await navigator.gpu.requestAdapter();
  if (!adapter) {
    throw Error("Couldn't request WebGPU adapter.");

  const device = await adapter.requestDevice();



# gpu-adapter

Browser compatibility

BCD tables only load in the browser

See also