WebGPU and WGSL (WebGPU Shading Language) are W3C standards for GPU acceleration on the Web. There are also implementations of WebGPU in other languages, for both WebAssembly and native applications.
webgpu.org is a work in progress - contribute here!
- WebGPU Implementation Status - status of different browsers/OSes, and how to report bugs
- For status of individual features, check on your device using WebGPU Report
- Chat - "Web Graphics" Matrix Community: #webgraphics:matrix.org
- The general WebGPU channel is #WebGPU:matrix.org
- Q&A and feature proposals - GitHub Discussions
- Mailing list -
public-gpu@w3.orgat the W3C
- WebGPU Samples - sample code and demos of various features and graphics/compute techniques
- compute.toys
- wgpu Examples (Rust on Wasm)
- ... and many more here
- WebGPU Fundamentals - tutorials and articles on many WebGPU and graphics topics
- WebGPU on MDN - API documentation
- Tour of WGSL - tutorials on WGSL (WebGPU Shading Language)
- Get started with GPU Compute on the Web
- WebGPU Best Practices
- WebGPU Report - status on your device
- From the community:
- WebGPU API Specification
- WGSL Specification
- WebGPU Correspondence Reference - contributions wanted
- WebGPU on MDN
- From the community:
- Meetups - click through for lists of presentations
- 2026-03 GDC
- 2025-07 SIGGRAPH (video, slides
- 2025-03 GDC
- 2024-07 SIGGRAPH (video, slides
- 2024-03 GDC
- (just search online if you're looking for a specific past meetup)
- Shaders
- WESL - extensions for WGSL
- Slang (experimental)
- wgsl_reflect
- Engines
- Machine Learning
- ... and many more here
- TypeScript
- C
- webgpu.h - standardized stable header for C and FFI
- C++
- Dawn and Emdawnwebgpu include C++ bindings
- WebGPU-cpp
- Rust - see below
- JavaScript (Node/Deno) - see below
- WebAssembly (C/C++/Rust) - see below
- wgpu - Rust, used in Firefox, Servo, and Deno
- Available for: Rust, C (wgpu-native - contributions wanted)
- Native + WebAssembly
- Dawn - C++, used in Chrome, Edge, and other Chromium browsers
- Available for: C, C++, Node
- Native only
- Emdawnwebgpu - bindings for Emscripten
- WebAssembly only, via Emscripten