This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The GPUCanvasContext interface of the WebGPU API represents the WebGPU rendering context of a <canvas> element, returned via an HTMLCanvasElement.getContext() call with a contextType of "webgpu".
canvas Read only
Returns a reference to the canvas that the context was created from.
configure()Configures the context to use for rendering with a given GPUDevice and clears the canvas to transparent black.
getConfiguration()Returns the current configuration set for the context.
getCurrentTexture()Returns the next GPUTexture to be composited to the document by the canvas context.
unconfigure()Removes any previously-set context configuration, and destroys any textures produced while the canvas context was configured.
const canvas = document.querySelector("#gpuCanvas");
const context = canvas.getContext("webgpu");
context.configure({
device,
format: navigator.gpu.getPreferredCanvasFormat(),
alphaMode: "premultiplied",
});
| Specification |
|---|
| WebGPU> # gpucanvascontext> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
GPUCanvasContext |
113Currently supported on ChromeOS, macOS, and Windows only. |
113Currently supported on ChromeOS, macOS, and Windows only. |
141Currently supported on Windows only, in all contexts except for service workers. |
99Currently supported on ChromeOS, macOS, and Windows only. |
26 | 121 | No | 81 | 26 | 25.0 | 121 | 26 |
canvas |
113Currently supported on ChromeOS, macOS, and Windows only. |
113Currently supported on ChromeOS, macOS, and Windows only. |
141Currently supported on Windows only, in all contexts except for service workers. |
99Currently supported on ChromeOS, macOS, and Windows only. |
26 | 121 | No | 81 | 26 | 25.0 | 121 | 26 |
configure |
113["Currently supported on ChromeOS, macOS, and Windows only.", "Thergba8unorm format is currently not supported on macOS. See bug 40823053."] |
113["Currently supported on ChromeOS, macOS, and Windows only.", "Thergba8unorm format is currently not supported on macOS. See bug 40823053."] |
141Currently supported on Windows only, in all contexts except for service workers. |
99["Currently supported on ChromeOS, macOS, and Windows only.", "Thergba8unorm format is currently not supported on macOS. See bug 40823053."] |
26 | 121 | No | 81 | 26 | 25.0 | 121 | 26 |
getConfiguration |
131Currently supported on ChromeOS, macOS, and Windows only. |
131Currently supported on ChromeOS, macOS, and Windows only. |
141Currently supported on Windows only, in all contexts except for service workers. |
116Currently supported on ChromeOS, macOS, and Windows only. |
26 | 131Currently supported on ChromeOS, macOS, and Windows only. |
No | 87Currently supported on ChromeOS, macOS, and Windows only. |
26 | No | 131Currently supported on ChromeOS, macOS, and Windows only. |
26 |
getCurrentTexture |
113Currently supported on ChromeOS, macOS, and Windows only. |
113Currently supported on ChromeOS, macOS, and Windows only. |
141Currently supported on Windows only, in all contexts except for service workers. |
99Currently supported on ChromeOS, macOS, and Windows only. |
26 | 121 | No | 81 | 26 | 25.0 | 121 | 26 |
unconfigure |
113Currently supported on ChromeOS, macOS, and Windows only. |
113Currently supported on ChromeOS, macOS, and Windows only. |
141Currently supported on Windows only, in all contexts except for service workers. |
99Currently supported on ChromeOS, macOS, and Windows only. |
26 | 121 | No | 81 | 26 | 25.0 | 121 | 26 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/GPUCanvasContext