Awesome WebGPU 

Lovely curated list of WebGPU resources, libraries and tools.
WebGPU is a W3C API for modern 3D graphics and GPU computing on desktop and mobile devices. Unlike WebGL, WebGPU is not a port of an existing native API. It borrows concepts from Metal, Vulkan and Direct3D12.
Contents
Websites
Official websites
WebGPU Specifications
WGSL (WebGPU Shading Language) Specifications
API documentations
Misc
Browser support
Availability depends on the browser version, operating system, GPU, and driver.
Chromium
- Chrome - Enabled on supported Windows, macOS, ChromeOS, Android, and Linux configurations; consult the implementation status for hardware and operating system requirements.
- Edge - Chromium-based browser with WebGPU support on supported devices and operating systems.
Firefox
- Firefox - Enabled on Windows and Apple Silicon Macs; other platforms have different rollout schedules.
- Firefox Nightly - Preview implementation for testing upcoming support, including Linux and other Mac configurations.
Safari
Articles
Tutorials
Books
Libraries
- luma.gl - Graphics and compute toolkit with WebGPU and WebGL backends.
- webgpu-utils - Helpers for buffer layouts, textures, mipmaps, and bind groups.
- Emdawnwebgpu - Dawn-maintained WebGPU bindings for Emscripten applications.
- wgpu-native - Native C interface to the Rust wgpu implementation.
- Vello - Experimental Rust 2D vector renderer using wgpu and GPU compute.
- Babylon.js - Open game and rendering engine.
- Three.js - 3D library with WebGPURenderer and Three.js Shading Language (TSL) for shader authoring.
- PlayCanvas - Web-based game engine with WebGPU support.
- PixiJS - 2D rendering engine with a WebGPU renderer.
- Dawn - Google implementation that powers WebGPU in Chromium, can be used as a standalone package.
- wgpu - Cross-platform Rust graphics API based on WebGPU, used by Firefox and native applications.
- webgpu-headers - C/C++ headers.
- sokol - Simple STB-style cross-platform libraries for C and C++.
- RedGPU - JavaScript WebGPU library, by @redcamel.
- WebGPU .NET - Browser-focused .NET bindings for the Emscripten WebGPU API.
- Deno - JavaScript and TypeScript runtime with WebGPU support through the
--unstable-webgpu flag.
- RedCube - glTF viewer based on a WebGPU backend.
- hwoa-rang-gpu - Micro WebGPU rendering & compute library.
- wgsl_reflect - A WebGPU Shading Language parser and reflection library for JavaScript.
- WebGPU-C++ - A single-file zero-overhead C++ idiomatic wrapper, by @eliemichel.
- Use.GPU - Reactive/declarative WebGPU runtime.
- GEngine - A basic rendering engine based on WebGPU, by junwei.gu.
- Thimbleberry - Reusable WebGPU shaders and support functions.
- WebRTX - Experimental ray-tracing layer implemented with WebGPU compute shaders.
- React Native WebGPU - React Native implementation of WebGPU using Dawn.
- TypeGPU - Type-safe toolkit for GPU resources and shaders authored in TypeScript.
- WESL - Community WGSL extensions for
import, @if, and more.
- WebGpGpu.ts - A WebGPU framework to access compute shaders, browser or server-side, without the steep learning curve.
- spark.js - A real-time GPU texture compression library for WebGPU.
- zephyr3d - A TypeScript-based 3D rendering engine with WebGPU/WebGL support.
- ChartGPU - Interactive charting library using WebGPU for rendering.
- vgpu - TypeScript WebGPU library with typed WGSL imports and a shared API for browsers, Node.js, and tests.
- RunMat - GPU-accelerated numerical computing runtime for MATLAB-syntax programs, with browser execution through WebAssembly and WebGPU.
- Vienna WebGPU Engine - Educational C++ game engine built on WebGPU, with rendering tutorials and native and browser backends.
- Points - Generative art library built with WebGPU.
- fisheye.js - WebGPU compute library for fisheye image and video correction using WebCodecs.
AI libraries
- WebLLM - Browser language-model inference engine accelerated with WebGPU.
- ONNX Runtime Web - Browser inference runtime with a WebGPU execution provider for ONNX models.
- Transformers.js - JavaScript machine-learning library with WebGPU acceleration through ONNX Runtime.
Debuggers and Profilers
- WebGPU Dev Extension - Browser extension for validation diagnostics, memory tracking, and redundant-state detection.
- WebGPUReconstruct - Capture browser commands and replay them through native implementations for graphics debugging and profiling.
- webgpu-inspector - Inspection debugger for WebGPU.
- wgpu-profiler - GPU timing and profiling utilities for Rust applications using wgpu.
Gists
Demos
Demo compatibility depends on browser support and the features required by each application.
- WebGPU Samples - A set of samples and demos demonstrating the use of the WebGPU API - Repository
- Darkly.art - Open-source photo editor with an advanced WebGPU compositor written in Rust + WebAssembly - Repository
- WebGPU first-person exploration of the Sponza Palace - Scene render comparison between WebGL, WebGL 2.0 and WebGPU, by Brandon Jones - Repository
- WebGPU Clustered Shading - By Brandon Jones - Repository
- WebGPU Metaballs - By Brandon Jones - Repository
- Online WGSL Editor - By Takahiro - Repository
- Three.js WebGPU examples - A collection of examples from three.js using the WebGPU renderer - Repository
- Spookyball - A Halloween-themed, open source Breakout clone, by Brandon Jones - Repository
- Babylon.js Playground - By Babylon.js (Note: Select
WebGPU in the top right corner).
- PlayCanvas WebGPU Demos - By PlayCanvas (Note: Select
WebGPU in the top right corner).
- WebGPU Particles - Calculate and render particles, by Daniel Toplak - Repository
- WebGPU Examples - A few examples of rendering algorithms implemented in WebGPU, by Tarek Sherif - Repository
- wgpu examples - Official list of examples from the wgpu library - Repository
- Forest WebGPU - A scene built with Babylon.js.
- WebGPU-Playground - A playground to experiment with WebGPU, by @06wj - Repository
- WebGPU 2D Fluid Simulation - An implementation of "Real-Time Fluid Dynamics for Games" paper, by kishimisu - Repository
- WebGPU-Lab - Demos and experiments, focused on compute shaders, by Sebastian Macke - Repository
- WebGPU Live Demo Editor - A collection of WebGPU examples by Hepp Maccoy - Repository
- Thimbleberry Image Transform Demo - An Image processing app built using Thimbleberry, by mighdoll - Repository
- Shadowray Playground - Demo of an experimental ray-tracing layer implemented with WebGPU compute shaders.
- Web Stable Diffusion - Early browser image-generation demo using WebGPU, with source code.
- Shader Graph WGSL - A node based shader editor, by deepkolos - Repository
- WebGPU Memory Model Testing - Memory models testing suite, by Reese Levine et al., UC Santa Cruz - Repository
- Marching Cubes WebGPU - Marching cubes implementation, by Conor O'Malley - Repository
- WebGPU Path Tracing - A path tracer powered by WebGPU compute shaders, by Fermin Lozano - Repository
- WebGPU real-time ray tracer - A real-time ray tracer implementing the ReSTIR algorithm.
- Real-Time GPU Texture Compression Demo - Showcases the advantages of real-time texture compression. Compares models using KTX2 textures against AVIF + Spark.
- vgpu Shader on Live HTML - Shader demo applying WebGPU effects to HTML content; requires the experimental canvas-draw-element browser flag.
- RunMat Browser Sandbox - Browser playground for MATLAB-syntax numerical programs accelerated with WebGPU.
- DoG Studio - WebGPU image and video processing demo for configurable Difference-of-Gaussians line art and screentone effects, with source code.
- Points examples - Generative art demos covering particles, render passes, and other WebGPU techniques.
Videos
Bug reporting
Historical resources
These resources document earlier implementations, obsolete API versions, or experimental forks. Code and setup instructions may require substantial changes for current WebGPU.
To the extent possible under law, Mik Bry has waived all copyright and related or neighboring rights to this work.
Contributions welcome! Read the contribution guidelines first.