Skip to main content
FREE TOOLS

WebGL & WebGPU Checker

Check your browser's GPU capabilities: WebGPU, WebGL 2 and WebGL 1 availability, renderer details, features and limits. Run a live draw test and export your results.

Local checks. No sign-up.Actual API responses

Querying each graphics API…

Ready to draw a test triangle

Live rendering test

—Average animation FPS

Fixed 480 × 270 scene. Runs for 10 seconds.

FPS reflects animation submissions and depends on refresh rate and scheduling. It is not a GPU benchmark. Backgrounding the tab stops the test.

Results reflect this browser context only.

WebGPU adapter & capabilities

Checking

These are adapter capabilities. Applications still need to request required features and limits when creating a device. Empty fields mean not reported.

WebGPU feature matrix

A green check means the browser reports support for the feature; individual workloads are not tested. A dash means support is not reported or results are unavailable. Additional reported features are retained.

Texture compression

  • texture-compression-bc—
  • texture-compression-bc-sliced-3d—
  • texture-compression-etc2—
  • texture-compression-astc—
  • texture-compression-astc-sliced-3d—

Shader & texture operations

  • shader-f16—
  • subgroups—
  • float32-filterable—
  • primitive-index—
  • texture-component-swizzle—

Rendering, depth & formats

  • float32-blendable—
  • rg11b10ufloat-renderable—
  • bgra8unorm-storage—
  • dual-source-blending—
  • depth-clip-control—
  • depth32float-stencil8—
  • clip-distances—
  • texture-formats-tier1—
  • texture-formats-tier2—

Timing, indirect draws & core

  • timestamp-query—
  • indirect-first-instance—
  • core-features-and-limits—

WebGPU limits

Byte values use KiB / MiB / GiB with exact bytes retained. Maximum buffer size is not available VRAM.

Textures
maxTextureDimension1D
Not reported
maxTextureDimension2D
Not reported
maxTextureDimension3D
Not reported
maxTextureArrayLayers
Not reported
maxSampledTexturesPerShaderStage
Not reported
maxSamplersPerShaderStage
Not reported
maxStorageTexturesPerShaderStage
Not reported
Buffers & alignment
maxBufferSize
Not reported
maxUniformBufferBindingSize
Not reported
maxStorageBufferBindingSize
Not reported
maxUniformBuffersPerShaderStage
Not reported
maxStorageBuffersPerShaderStage
Not reported
maxDynamicUniformBuffersPerPipelineLayout
Not reported
maxDynamicStorageBuffersPerPipelineLayout
Not reported
minUniformBufferOffsetAlignment
Not reported
minStorageBufferOffsetAlignment
Not reported
Bindings & vertices
maxBindGroups
Not reported
maxBindGroupsPlusVertexBuffers
Not reported
maxBindingsPerBindGroup
Not reported
maxVertexBuffers
Not reported
maxVertexAttributes
Not reported
maxVertexBufferArrayStride
Not reported
maxInterStageShaderVariables
Not reported
Render targets
maxColorAttachments
Not reported
maxColorAttachmentBytesPerSample
Not reported
Compute
maxComputeWorkgroupStorageSize
Not reported
maxComputeInvocationsPerWorkgroup
Not reported
maxComputeWorkgroupSizeX
Not reported
maxComputeWorkgroupSizeY
Not reported
maxComputeWorkgroupSizeZ
Not reported
maxComputeWorkgroupsPerDimension
Not reported

WGSL & other capabilities

secureContext
Not reported
preferredCanvasFormat
Not reported
fallbackAdapterConfirmed (explicit request)
Not reported
WebXR immersive-vr
Not reported

An unconfirmed fallback request does not prove there is no software adapter. WebXR only queries session support; it does not start a VR session.

WGSL language features (—)

No feature list reported.

WebGL 2

Checking

Creating a separate context…

WebGL 1

Checking

Creating a separate context…

Device & browser information

Processor and memory figures are browser hints and may be rounded or capped. Zero touch points is a valid result.

How to interpret your WebGL / WebGPU results

  1. Check availability, then draw

    An available adapter or context is the first step. Select an API and run the short triangle test to exercise device creation, pipelines and drawing.

  2. Match features to your application

    Texture compression, shader-f16, compute workgroup sizes and render target limits serve different needs. A feature count is not a GPU score.

  3. Export and compare environments

    Save separate reports from local browsers, cloud browsers or remote desktops. Compare renderers and limits; versions, drivers and browser settings can change results.

WebGL & WebGPU test FAQ

How do I check whether my browser supports WebGPU?

Check the WebGPU status above. The tool checks the secure context and navigator.gpu, then requests an adapter. Available means an adapter was returned. Missing APIs, no adapter, timeouts and query failures are shown separately. Run the draw test to also exercise device creation and shader execution.

What is the difference between WebGL 1, WebGL 2 and WebGPU?

WebGL 1 and 2 use GLSL graphics shaders; WebGL 2 adds texture, rendering and data-processing capabilities. WebGPU uses WGSL and supports rendering and compute pipelines. Choose based on your application's features and target devices. This tool checks each API independently instead of inferring support from a browser name.

Why is WebGPU exposed but no adapter available?

The browser may withhold an adapter because of the device, driver, policy or current environment. Use HTTPS, review hardware acceleration settings and browser updates, then retry. One failed request does not prove that the GPU is unsupported; this tool does not require experimental flags.

What do SwiftShader or llvmpipe indicate?

These names commonly indicate a software rendering path. The tool flags known names in the reported renderer string. Their absence does not prove hardware acceleration. Remote desktops, virtual machines, drivers and browser settings can affect the actual path.

Why do adapter limits differ from limits inside an application?

This report reads adapter capabilities. An application must request the features and limits it needs when creating a GPUDevice; the device does not necessarily expose every adapter capability by default. Browser privacy policies can also limit reported values. Maximum buffer size is not available video memory.

Can I use this FPS to compare GPU performance?

No. The 10-second test observes animation submissions for a fixed 480 × 270 scene. Refresh rate, vertical sync, tab visibility and browser scheduling affect it. It verifies that drawing works; it is not GPU timing or a game benchmark. Moving the tab to the background stops the test.

Is my GPU report uploaded?

Detection and drawing run in this page without uploading the GPU report or writing it to local storage. JSON, text downloads and printing to PDF are explicit actions. Normal page resources and site analytics follow the Cookie Policy. This tool does not look up your public IP.

Full diagnostic report