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 Capabilities Report.

WebGL logo

This chart shows what share of recent reports support WebGL2 overall.

overall support

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.

This table shows how overall WebGL2 support varies by platform.

PlatformSupport
Loading platform support

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.

This table shows how overall WebGL2 support varies by browser family.

BrowserSupport
Loading browser support

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.

This table shows what share of recent reports support each WebGL2 extension.

ExtensionsSupport
EXT_blend_func_extended
EXT_clip_control
EXT_color_buffer_float
EXT_color_buffer_half_float
EXT_conservative_depth
EXT_depth_clamp
EXT_disjoint_timer_query_webgl2
EXT_float_blend
EXT_polygon_offset_clamp
EXT_render_snorm
EXT_texture_compression_bptc
EXT_texture_compression_rgtc
EXT_texture_filter_anisotropic
EXT_texture_mirror_clamp_to_edge
EXT_texture_norm16
KHR_parallel_shader_compile
NV_shader_noperspective_interpolation
OES_draw_buffers_indexed
OES_sample_variables
OES_shader_multisample_interpolation
OES_texture_float_linear
OVR_multiview2
WEBGL_blend_equation_advanced_coherent
WEBGL_clip_cull_distance
WEBGL_compressed_texture_astc
WEBGL_compressed_texture_etc
WEBGL_compressed_texture_etc1
WEBGL_compressed_texture_pvrtc
WEBGL_compressed_texture_s3tc
WEBGL_compressed_texture_s3tc_srgb
WEBGL_debug_renderer_info
WEBGL_debug_shaders
WEBGL_draw_instanced_base_vertex_base_instance
WEBGL_lose_context
WEBGL_multi_draw
WEBGL_multi_draw_instanced_base_vertex_base_instance
WEBGL_polygon_mode
WEBGL_provoking_vertex
WEBGL_render_shared_exponent
WEBGL_shader_pixel_local_storage
WEBGL_stencil_texturing
WEBKIT_WEBGL_compressed_texture_pvrtc

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.

This table shows the reported values for each WebGL2 parameter and how common each value is.

ParameterValues - 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

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.

This table shows what share of recent WebGL2 reports is attributed to each GPU vendor.

VendorShare
Loading vendor share