device ready: yes
/* or earlier failure messages */
How It Works
Gate on support. Same first check as MDN.
Request an adapter. Bail if null.
Request a device.GPUDevice is what you use for GPU work.
Log success. From here you create buffers, shaders, and pipelines.
Compatibility
Browser Support
Navigator.gpu (WebGPU entry point) is Limited availability (not Baseline) on MDN. It requires a secure context. It is not Deprecated, Experimental, or Non-standard.
✓ Limited · Not Baseline
Navigator.gpu
Available in modern Chromium (Chrome/Edge ~113+ on major desktop platforms), Safari 26+, and Firefox on supported OS builds. Always feature-detect — adapter may still be null.
LimitedNot Baseline
Google Chrome113+ desktop (platform-dependent); Android 121+
Supported*
Microsoft Edge113+ on supported platforms
Supported*
Apple Safari26+ (macOS / iOS / iPadOS)
Supported*
Mozilla Firefox141+ Windows; expanding on macOS
Partial
OperaChromium-based — follows Chrome WebGPU
Supported*
navigator.gpuLimited
Bottom line: Detect navigator.gpu over HTTPS, check requestAdapter() for null, then requestDevice() — keep a non-WebGPU fallback.
Frequently Asked Questions
It is a read-only Navigator property that returns the GPU object for the current browsing context — the entry point for the WebGPU API (MDN).
MDN does not mark it Deprecated, Experimental, or Non-standard. It is Limited availability / not Baseline — missing or incomplete on some browsers and platforms. Always feature-detect.
Yes. navigator.gpu is available only in secure contexts (HTTPS or localhost) in supporting browsers.
GPU.requestAdapter() asks the browser for a GPUAdapter that represents the user’s GPU. If none is available, it may resolve to null — always check the result.
WebGL is the older, widely supported graphics API. WebGPU is the modern API for high-performance graphics and GPU compute, with an adapter → device model.
No. It is read-only. You use the returned GPU object to request adapters and devices; you do not assign to navigator.gpu.