| WebGPU | |
|---|---|
| Status | Candidate recommendation (CR) |
| Year started | 16 February 2017 |
| First published | 18 May 2021 |
| Latest version | W3C Candidate Recommendation Draft 15 September 2026 |
| Organization | W3C |
| Committee |
|
| Editors |
|
| Related standards | |
| Domain | |
| Website | www |
WebGPU API is a JavaScript API, standardized by the W3C, for cross-platform efficient graphics processing unit (GPU) access, with native implementations also usable from Rust, C++, and C. Using a system's underlying Vulkan, Metal, or Direct3D 12 technologies, WebGPU allows for graphics processing, games, and more, as well as AI and machine learning applications. WebGPU is intended to supersede the older WebGL as the main graphics standard for the Web.
In JavaScript, WebGPU can be provided by a web browser or a runtime such as Deno, while Node.js can use it through an add-on built from Google's Dawn implementation. Rust and C++ can use their respective implementations of the WebGPU specification. Other languages like Python, Java, and Go can use WebGPU by extending the C language specification, while Go can also use a native pure Go implementation (see Implementations section).
Google Chrome and Microsoft Edge first released WebGPU support in May 2023 with version 113. Firefox first released WebGPU in July 2025 with Firefox 141 on Windows. Safari debuted WebGPU support in September 2025 with Safari 26. By November 2025, WebGPU was supported in all major browsers. As of September 2026[update], the W3C standard is a Candidate Recommendation Draft.
WebGPU enables 3D graphics within an HTML canvas. It also has robust support for general-purpose GPU computations, which libraries such as ONNX Runtime and Transformers.js use for machine-learning inference in the browser. Engines with WebGPU support include Three.js, Babylon.js, PlayCanvas, and Unity.
WebGPU uses its own shading language called WebGPU Shading Language (WGSL), which is specified separately by the W3C. The syntax is similar to Rust. Chrome 134 added subgroup operations for machine-learning workloads, and later versions added further optional WGSL language extensions. Tint is a Google-made compiler for WGSL. Naga is a similar project developed for the needs of wgpu-rs.
Google Chrome, Firefox, and Safari all support WebGPU and WGSL. Chromium-based browsers use Google's C++ library Dawn. Firefox, Deno, and Servo use the Rust wgpu library. Safari 26 supports WebGPU on macOS, iOS, iPadOS, and visionOS.
Chrome version 113 enabled initial WebGPU support on Windows devices with Direct3D 12, ChromeOS devices with Vulkan, and macOS with Metal. This support for Android was enabled in version 121. Linux support followed in version 144 for Intel GPUs and was extended to NVIDIA GPUs in version 147. Version 146 added an opt-in compatibility mode that runs a restricted subset of WebGPU on OpenGL ES 3.1, starting with Android.
Firefox 145 added support on macOS Tahoe for Apple silicon Macs, and Firefox 147 extended it to all supported macOS versions on Apple silicon. As of August 2026[update], Firefox support on Linux and Android was limited to pre-release builds.
For the Go language, a native pure Go implementation of WebGPU called `gogpu/wgpu` is developed as part of the GoGPU ecosystem. It provides a zero-CGO, WebGPU-compliant interface supporting Vulkan, Metal, DirectX 12, OpenGL ES, and CPU software rasterization.
On June 8, 2016, Google showed "Explicit web graphics API" presentation to the WebGL working group (during the bi-annual face to face meeting). The presentation explored the basic ideas and principles of building a new API to eventually replace WebGL, also known as "WebGL Next".
On January 24, 2017, Khronos hosted an IP-free meeting dedicated to discussion of "WebGL Next" ideas, coinciding with a WebGL working group meeting in Vancouver. Google team presented the NXT prototype implementing a new API that could run in Chromium with OpenGL, or standalone with OpenGL and Metal. NXT borrowed concepts from all of Vulkan, Direct3D 12, and Metal native APIs. Apple and Mozilla representatives also showed their prototypes built on Safari and Servo correspondingly, both of which closely replicated the Metal API.
On February 7, 2017, Apple's WebKit team proposed the creation of the W3C community group to design the API. At the same time they announced a technical proof of concept and proposal under the name "WebGPU", based on concepts in Apple's Metal. The WebGPU name was later adopted by the community group as a working name for the future standard rather than just Apple's initial proposal. The initial proposal has been renamed to "WebMetal" to avoid further confusion.
The W3C "GPU for the Web" Community Group was launched on February 16, 2017. At this time, all of Apple, Google, and Mozilla had experiments in the area, but only Apple's proposal was officially submitted to the "gpuweb-proposals" repository. Shortly after, on March 21, 2017, Mozilla submitted a proposal for WebGL Next within Khronos repository, based on the Vulkan design.
On June 1, 2018, citing "resolution on most-high level issues" in the cross-browser standardization effort, Google's Chrome team announced intent to implement the future WebGPU standard.
On February 13, 2020, Google unveiled Tint as an alternative to WHLSL textual language proposal to WebGPU API, and the language eventually became the standardized WebGPU Shading Language (WGSL), and Tint became the name of compiler within Dawn, the WebGPU implementation of Chromium.[citation needed]
The GPU for the Web Working Group published the First Public Working Draft of WebGPU on May 18, 2021, and the first Candidate Recommendation Snapshot on December 19, 2024. Chrome shipped WebGPU in May 2023, followed by Firefox in July 2025 and Safari in September 2025.