WebGL2 Support#
Use this page when you want to know if WebGL 2 can be your default 3D API. The support chart below shows how often recent browsers expose a working WebGL 2 context across real devices and platforms.
WebGL 2 coverage is broad, but the details still matter. Extension support, parameter values, and GPU mix all shape what you can count on in production. This page helps you decide whether WebGL 2 is enough on its own or whether you still need a WebGL fallback path for older devices.
If you are choosing between APIs, compare this page with WebGPU for newer features and WebGL for the broadest compatibility. If you want to inspect one browser directly, open the WebGL2 Capabilities Report.

This chart shows what share of recent reports support WebGL2 overall.
7.77% report a major performance caveat.
WebGL2 Platform Support#
Use platform support to see where WebGL 2 stays steady and where it drops. Browser engine, operating system, and GPU stack still influence the results even when headline support looks high.
| Platform | Support |
|---|---|
| Android | 98.77% |
| Chromium OS | 99.96% |
| iOS | 97.88% |
| Linux | 84.36% |
| Mac OS | 96.98% |
| Windows | 98.92% |
WebGL2 Browser Support#
Use browser support to see how WebGL 2 coverage differs across browser families. Results are aggregated across operating systems for each family.
| Browser | Support |
|---|---|
| Chrome/Chromium | 98.02% |
| Edge | 99.71% |
| Firefox | 96.77% |
| Opera | 99.66% |
| Other | 94.45% |
| Safari | 94.37% |
| Samsung Internet | 99.89% |
WebGL2 Vendors#
Vendor and renderer data help you connect support patterns to the hardware behind them. Use this section when you need to explain why a feature works well on one platform and not another.
| Vendor | Share |
|---|---|
| Google Inc. (Intel) | 27.13% |
| Google Inc. (NVIDIA) | 16.24% |
| Apple Inc. | 12.76% |
| Google Inc. (Apple) | 11.9% |
| Google Inc. (AMD) | 7.85% |
| Google Inc. (Google) | 4.76% |
| Google Inc. (ARM) | 4.59% |
| Google Inc. (Qualcomm) | 3.65% |
| Qualcomm | 1.81% |
| Google Inc. (Microsoft) | 1.74% |
| ARM | 1.72% |
| Apple | 0.97% |
| Intel | 0.74% |
| Google Inc. (Samsung Electronics Co., Ltd.) | 0.62% |
| Google Inc. (Imagination Technologies) | 0.59% |
| Google Inc. (NVIDIA Corporation) | 0.52% |
WebGL2 Extensions#
Extensions tell you how much of the platform you can really use. Check this section before you depend on optional capabilities for performance, texture formats, timing, or debugging.
WebGL2 Parameters#
Parameter values show the resource limits browsers expose in practice. Use this section when you need realistic assumptions for textures, buffers, uniforms, draw targets, or other rendering limits.
| Parameter | Values - Support | ||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| FRAGMENT_INTERPOLATION_OFFSET_BITS_OES |
| ||||||||||||||||||||||||||||||||||||||
| MAX_3D_TEXTURE_SIZE |
| ||||||||||||||||||||||||||||||||||||||
| MAX_ARRAY_TEXTURE_LAYERS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_CLIENT_WAIT_TIMEOUT_WEBGL |
| ||||||||||||||||||||||||||||||||||||||
| MAX_CLIP_DISTANCES_WEBGL |
| ||||||||||||||||||||||||||||||||||||||
| MAX_COLOR_ATTACHMENTS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_COLOR_ATTACHMENTS_WITH_ACTIVE_PIXEL_LOCAL_STORAGE_WEBGL |
| ||||||||||||||||||||||||||||||||||||||
| MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL |
| ||||||||||||||||||||||||||||||||||||||
| MAX_COMBINED_DRAW_BUFFERS_AND_PIXEL_LOCAL_STORAGE_PLANES_WEBGL |
| ||||||||||||||||||||||||||||||||||||||
| MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_COMBINED_TEXTURE_IMAGE_UNITS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_COMBINED_UNIFORM_BLOCKS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_CUBE_MAP_TEXTURE_SIZE |
| ||||||||||||||||||||||||||||||||||||||
| MAX_CULL_DISTANCES_WEBGL |
| ||||||||||||||||||||||||||||||||||||||
| MAX_DRAW_BUFFERS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT |
| ||||||||||||||||||||||||||||||||||||||
| MAX_ELEMENT_INDEX |
| ||||||||||||||||||||||||||||||||||||||
| MAX_ELEMENTS_INDICES |
| ||||||||||||||||||||||||||||||||||||||
| MAX_ELEMENTS_VERTICES |
| ||||||||||||||||||||||||||||||||||||||
| MAX_FRAGMENT_INPUT_COMPONENTS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_FRAGMENT_INTERPOLATION_OFFSET_OES |
| ||||||||||||||||||||||||||||||||||||||
| MAX_FRAGMENT_UNIFORM_BLOCKS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_FRAGMENT_UNIFORM_COMPONENTS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_FRAGMENT_UNIFORM_VECTORS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_PIXEL_LOCAL_STORAGE_PLANES_WEBGL |
| ||||||||||||||||||||||||||||||||||||||
| MAX_PROGRAM_TEXEL_OFFSET |
| ||||||||||||||||||||||||||||||||||||||
| MAX_RENDERBUFFER_SIZE |
| ||||||||||||||||||||||||||||||||||||||
| MAX_SAMPLES |
| ||||||||||||||||||||||||||||||||||||||
| MAX_SERVER_WAIT_TIMEOUT |
| ||||||||||||||||||||||||||||||||||||||
| MAX_TEXTURE_IMAGE_UNITS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_TEXTURE_LOD_BIAS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_TEXTURE_MAX_ANISOTROPY_EXT |
| ||||||||||||||||||||||||||||||||||||||
| MAX_TEXTURE_SIZE |
| ||||||||||||||||||||||||||||||||||||||
| MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_UNIFORM_BLOCK_SIZE |
| ||||||||||||||||||||||||||||||||||||||
| MAX_UNIFORM_BUFFER_BINDINGS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_VARYING_COMPONENTS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_VARYING_VECTORS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_VERTEX_ATTRIBS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_VERTEX_OUTPUT_COMPONENTS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_VERTEX_TEXTURE_IMAGE_UNITS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_VERTEX_UNIFORM_BLOCKS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_VERTEX_UNIFORM_COMPONENTS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_VERTEX_UNIFORM_VECTORS |
| ||||||||||||||||||||||||||||||||||||||
| MAX_VIEWPORT_HEIGHT |
| ||||||||||||||||||||||||||||||||||||||
| MAX_VIEWPORT_WIDTH |
| ||||||||||||||||||||||||||||||||||||||
| MAX_VIEWS_OVR |
| ||||||||||||||||||||||||||||||||||||||
| MIN_FRAGMENT_INTERPOLATION_OFFSET_OES |
| ||||||||||||||||||||||||||||||||||||||
| MIN_PROGRAM_TEXEL_OFFSET |
|