BASELINE NowYouCanUse.com
Limited Availability WebGPU
id: webgpu

WebGPU

The navigator.gpu API performs operations such as rendering and computation on dedicated graphics hardware (also known as a Graphics Processing Unit).
Baseline Status: This feature is currently Limited and is missing in at least one major browser engine.
Desktop Browser Engine Support
Google Chrome
144
Supported
Mozilla Firefox
Unsupported
Apple Safari
26
Supported
Microsoft Edge
144
Supported
Mobile Browser Engine Support
Chrome Android
121
Firefox Android
Safari iOS
26
Specifications and References
MDN Browser Compat Data Keys:
api.GPU api.GPU.getPreferredCanvasFormat api.GPU.requestAdapter api.GPU.requestAdapter.discrete_adapter_default_ac api.GPU.wgslLanguageFeatures api.GPUAdapter api.GPUAdapter.features api.GPUAdapter.info api.GPUAdapter.limits api.GPUAdapter.requestDevice api.GPUAdapter.requestDevice.handles_duplicate_calls api.GPUAdapter.requestDevice.undefined_limits api.GPUAdapterInfo api.GPUAdapterInfo.architecture api.GPUAdapterInfo.description api.GPUAdapterInfo.device api.GPUAdapterInfo.subgroupMaxSize api.GPUAdapterInfo.subgroupMinSize api.GPUAdapterInfo.vendor api.GPUBindGroup api.GPUBindGroup.label api.GPUBindGroupLayout api.GPUBindGroupLayout.label api.GPUBuffer api.GPUBuffer.destroy api.GPUBuffer.getMappedRange api.GPUBuffer.label api.GPUBuffer.mapAsync api.GPUBuffer.mapState api.GPUBuffer.size api.GPUBuffer.unmap api.GPUBuffer.usage api.GPUCanvasContext api.GPUCanvasContext.canvas api.GPUCanvasContext.configure api.GPUCanvasContext.configure.toneMapping api.GPUCanvasContext.getConfiguration api.GPUCanvasContext.getCurrentTexture api.GPUCanvasContext.unconfigure api.GPUCommandBuffer api.GPUCommandBuffer.label api.GPUCommandEncoder api.GPUCommandEncoder.beginComputePass api.GPUCommandEncoder.beginComputePass.timestampWrites api.GPUCommandEncoder.beginRenderPass api.GPUCommandEncoder.beginRenderPass.depthSlice_option api.GPUCommandEncoder.beginRenderPass.separate_depth_stencil_read-only api.GPUCommandEncoder.beginRenderPass.timestampWrites api.GPUCommandEncoder.clearBuffer api.GPUCommandEncoder.copyBufferToBuffer api.GPUCommandEncoder.copyBufferToTexture api.GPUCommandEncoder.copyTextureToBuffer api.GPUCommandEncoder.copyTextureToTexture api.GPUCommandEncoder.finish api.GPUCommandEncoder.insertDebugMarker api.GPUCommandEncoder.label api.GPUCommandEncoder.popDebugGroup api.GPUCommandEncoder.pushDebugGroup api.GPUCommandEncoder.resolveQuerySet api.GPUCompilationInfo api.GPUCompilationInfo.messages api.GPUCompilationMessage api.GPUCompilationMessage.length api.GPUCompilationMessage.lineNum api.GPUCompilationMessage.linePos api.GPUCompilationMessage.message api.GPUCompilationMessage.offset api.GPUCompilationMessage.type api.GPUComputePassEncoder api.GPUComputePassEncoder.dispatchWorkgroups api.GPUComputePassEncoder.dispatchWorkgroupsIndirect api.GPUComputePassEncoder.end api.GPUComputePassEncoder.insertDebugMarker api.GPUComputePassEncoder.label api.GPUComputePassEncoder.popDebugGroup api.GPUComputePassEncoder.pushDebugGroup api.GPUComputePassEncoder.setBindGroup api.GPUComputePassEncoder.setBindGroup.unset_bind_group api.GPUComputePassEncoder.setPipeline api.GPUComputePipeline api.GPUComputePipeline.getBindGroupLayout api.GPUComputePipeline.label api.GPUDevice api.GPUDevice.adapterInfo api.GPUDevice.createBindGroup api.GPUDevice.createBindGroupLayout api.GPUDevice.createBindGroupLayout.storageTexture_access_read-write_read-only api.GPUDevice.createBindGroupLayout.texture_rgb10a2uint api.GPUDevice.createBuffer api.GPUDevice.createCommandEncoder api.GPUDevice.createComputePipeline api.GPUDevice.createComputePipeline.optional_entryPoint api.GPUDevice.createComputePipelineAsync api.GPUDevice.createComputePipelineAsync.optional_entryPoint api.GPUDevice.createPipelineLayout api.GPUDevice.createQuerySet api.GPUDevice.createQuerySet.timestamp api.GPUDevice.createRenderBundleEncoder api.GPUDevice.createRenderPipeline api.GPUDevice.createRenderPipeline.dual-source-blending api.GPUDevice.createRenderPipeline.optional_depthcompare_depthwriteenabled api.GPUDevice.createRenderPipeline.optional_entryPoint api.GPUDevice.createRenderPipeline.texture_rgb10a2uint api.GPUDevice.createRenderPipeline.validates_depth_bias_for_line_and_point_topologies api.GPUDevice.createRenderPipeline.vertex_unorm10-10-10-2 api.GPUDevice.createRenderPipelineAsync api.GPUDevice.createRenderPipelineAsync.dual-source-blending api.GPUDevice.createRenderPipelineAsync.optional_depthcompare_depthwriteenabled api.GPUDevice.createRenderPipelineAsync.optional_entryPoint api.GPUDevice.createRenderPipelineAsync.texture_rgb10a2uint api.GPUDevice.createRenderPipelineAsync.validates_depth_bias_for_line_and_point_topologies api.GPUDevice.createRenderPipelineAsync.vertex_unorm10-10-10-2 api.GPUDevice.createSampler api.GPUDevice.createShaderModule api.GPUDevice.createTexture api.GPUDevice.createTexture.texture_rgb10a2uint api.GPUDevice.destroy api.GPUDevice.features api.GPUDevice.importExternalTexture api.GPUDevice.importExternalTexture.color_space_display-p3 api.GPUDevice.importExternalTexture.videoframe_source api.GPUDevice.label api.GPUDevice.limits api.GPUDevice.lost api.GPUDevice.popErrorScope api.GPUDevice.pushErrorScope api.GPUDevice.queue api.GPUDevice.uncapturederror_event api.GPUDeviceLostInfo api.GPUDeviceLostInfo.message api.GPUDeviceLostInfo.reason api.GPUError api.GPUError.message api.GPUExternalTexture api.GPUExternalTexture.label api.GPUInternalError api.GPUInternalError.GPUInternalError api.GPUOutOfMemoryError api.GPUOutOfMemoryError.GPUOutOfMemoryError api.GPUPipelineError api.GPUPipelineError.GPUPipelineError api.GPUPipelineError.GPUPipelineError.message_optional api.GPUPipelineError.reason api.GPUPipelineLayout api.GPUPipelineLayout.label api.GPUQuerySet api.GPUQuerySet.count api.GPUQuerySet.destroy api.GPUQuerySet.label api.GPUQuerySet.type api.GPUQuerySet.type.timestamp api.GPUQueue api.GPUQueue.copyExternalImageToTexture api.GPUQueue.copyExternalImageToTexture.htmlimageelement_imagedata_source api.GPUQueue.copyExternalImageToTexture.videoframe_source api.GPUQueue.label api.GPUQueue.onSubmittedWorkDone api.GPUQueue.submit api.GPUQueue.submit.validates_command_buffer_uniqueness api.GPUQueue.writeBuffer api.GPUQueue.writeTexture api.GPURenderBundle api.GPURenderBundle.label api.GPURenderBundleEncoder api.GPURenderBundleEncoder.draw api.GPURenderBundleEncoder.drawIndexed api.GPURenderBundleEncoder.drawIndexedIndirect api.GPURenderBundleEncoder.drawIndirect api.GPURenderBundleEncoder.finish api.GPURenderBundleEncoder.insertDebugMarker api.GPURenderBundleEncoder.label api.GPURenderBundleEncoder.popDebugGroup api.GPURenderBundleEncoder.pushDebugGroup api.GPURenderBundleEncoder.setBindGroup api.GPURenderBundleEncoder.setBindGroup.unset_bind_group api.GPURenderBundleEncoder.setIndexBuffer api.GPURenderBundleEncoder.setPipeline api.GPURenderBundleEncoder.setVertexBuffer api.GPURenderBundleEncoder.setVertexBuffer.unset_vertex_buffer api.GPURenderPassEncoder api.GPURenderPassEncoder.beginOcclusionQuery api.GPURenderPassEncoder.draw api.GPURenderPassEncoder.drawIndexed api.GPURenderPassEncoder.drawIndexedIndirect api.GPURenderPassEncoder.drawIndirect api.GPURenderPassEncoder.end api.GPURenderPassEncoder.endOcclusionQuery api.GPURenderPassEncoder.executeBundles api.GPURenderPassEncoder.insertDebugMarker api.GPURenderPassEncoder.label api.GPURenderPassEncoder.popDebugGroup api.GPURenderPassEncoder.pushDebugGroup api.GPURenderPassEncoder.setBindGroup api.GPURenderPassEncoder.setBindGroup.unset_bind_group api.GPURenderPassEncoder.setBlendConstant api.GPURenderPassEncoder.setIndexBuffer api.GPURenderPassEncoder.setPipeline api.GPURenderPassEncoder.setScissorRect api.GPURenderPassEncoder.setStencilReference api.GPURenderPassEncoder.setVertexBuffer api.GPURenderPassEncoder.setVertexBuffer.unset_vertex_buffer api.GPURenderPassEncoder.setViewport api.GPURenderPipeline api.GPURenderPipeline.getBindGroupLayout api.GPURenderPipeline.label api.GPUSampler api.GPUSampler.label api.GPUShaderModule api.GPUShaderModule.getCompilationInfo api.GPUShaderModule.label api.GPUSupportedFeatures api.GPUSupportedFeatures.@@iterator api.GPUSupportedFeatures.entries api.GPUSupportedFeatures.feature_bgra8unorm-storage api.GPUSupportedFeatures.feature_clip-distances api.GPUSupportedFeatures.feature_depth-clip-control api.GPUSupportedFeatures.feature_depth32float-stencil8 api.GPUSupportedFeatures.feature_dual-source-blending api.GPUSupportedFeatures.feature_float32-blendable api.GPUSupportedFeatures.feature_float32-filterable api.GPUSupportedFeatures.feature_indirect-first-instance api.GPUSupportedFeatures.feature_rg11b10ufloat-renderable api.GPUSupportedFeatures.feature_shader-f16 api.GPUSupportedFeatures.feature_texture-compression-astc api.GPUSupportedFeatures.feature_texture-compression-bc api.GPUSupportedFeatures.feature_texture-compression-etc2 api.GPUSupportedFeatures.feature_timestamp-query api.GPUSupportedFeatures.forEach api.GPUSupportedFeatures.has api.GPUSupportedFeatures.keys api.GPUSupportedFeatures.size api.GPUSupportedFeatures.values api.GPUSupportedLimits api.GPUSupportedLimits.maxBindGroups api.GPUSupportedLimits.maxBindGroupsPlusVertexBuffers api.GPUSupportedLimits.maxBindingsPerBindGroup api.GPUSupportedLimits.maxBufferSize api.GPUSupportedLimits.maxColorAttachmentBytesPerSample api.GPUSupportedLimits.maxColorAttachments api.GPUSupportedLimits.maxComputeInvocationsPerWorkgroup api.GPUSupportedLimits.maxComputeWorkgroupSizeX api.GPUSupportedLimits.maxComputeWorkgroupSizeY api.GPUSupportedLimits.maxComputeWorkgroupSizeZ api.GPUSupportedLimits.maxComputeWorkgroupStorageSize api.GPUSupportedLimits.maxComputeWorkgroupsPerDimension api.GPUSupportedLimits.maxDynamicStorageBuffersPerPipelineLayout api.GPUSupportedLimits.maxDynamicUniformBuffersPerPipelineLayout api.GPUSupportedLimits.maxInterStageShaderVariables api.GPUSupportedLimits.maxSampledTexturesPerShaderStage api.GPUSupportedLimits.maxSamplersPerShaderStage api.GPUSupportedLimits.maxStorageBufferBindingSize api.GPUSupportedLimits.maxStorageBuffersPerShaderStage api.GPUSupportedLimits.maxStorageTexturesPerShaderStage api.GPUSupportedLimits.maxTextureArrayLayers api.GPUSupportedLimits.maxTextureDimension1D api.GPUSupportedLimits.maxTextureDimension2D api.GPUSupportedLimits.maxTextureDimension3D api.GPUSupportedLimits.maxUniformBufferBindingSize api.GPUSupportedLimits.maxUniformBuffersPerShaderStage api.GPUSupportedLimits.maxVertexAttributes api.GPUSupportedLimits.maxVertexBufferArrayStride api.GPUSupportedLimits.maxVertexBuffers api.GPUSupportedLimits.minStorageBufferOffsetAlignment api.GPUSupportedLimits.minUniformBufferOffsetAlignment api.GPUTexture api.GPUTexture.createView api.GPUTexture.createView.descriptor_format_parameter_accepts_rgb10a2uint api.GPUTexture.createView.descriptor_usage_parameter api.GPUTexture.depthOrArrayLayers api.GPUTexture.destroy api.GPUTexture.dimension api.GPUTexture.format api.GPUTexture.format.texture_rgb10a2uint api.GPUTexture.height api.GPUTexture.label api.GPUTexture.mipLevelCount api.GPUTexture.sampleCount api.GPUTexture.usage api.GPUTexture.width api.GPUTextureView api.GPUTextureView.label api.GPUUncapturedErrorEvent api.GPUUncapturedErrorEvent.GPUUncapturedErrorEvent api.GPUUncapturedErrorEvent.error api.GPUValidationError api.GPUValidationError.GPUValidationError api.HTMLCanvasElement.getContext.webgpu_context api.Navigator.gpu api.OffscreenCanvas.getContext.webgpu_context api.WGSLLanguageFeatures api.WGSLLanguageFeatures.@@iterator api.WGSLLanguageFeatures.entries api.WGSLLanguageFeatures.extension_packed_4x8_integer_dot_product api.WGSLLanguageFeatures.extension_readonly_and_readwrite_storage_textures api.WGSLLanguageFeatures.extension_unrestricted_pointer_parameters api.WGSLLanguageFeatures.forEach api.WGSLLanguageFeatures.has api.WGSLLanguageFeatures.keys api.WGSLLanguageFeatures.size api.WGSLLanguageFeatures.values api.WorkerNavigator.gpu