WebGL Support

Use this page when you need the widest browser baseline for 3D graphics on the web. The support chart below shows how often recent browsers expose a working WebGL context across real devices and platforms.

WebGL support rarely stops at "does the API exist?" Production decisions usually depend on extension support, parameter values, and the mix of GPUs behind each platform. This page lets you check those details before you ship a renderer, post-processing pipeline, or texture format that depends on them.

If you are comparing fallback options, read this page alongside WebGL 2 and WebGPU. If you want to inspect one browser directly, open the WebGL Capabilities Report.

WebGL logo

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

overall support

WebGL Platform Support

Use platform support to spot the gaps that a single headline percentage hides. Browser engine, operating system, and GPU stack all affect how reliably WebGL shows up in the field.

This table shows how overall WebGL support varies by platform.

PlatformSupport
Loading platform support

WebGL Browser Support

Use browser support to see how WebGL coverage differs across browser families. Results are aggregated across operating systems for each family.

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

BrowserSupport
Loading browser support

WebGL Extensions

Extensions decide how much headroom you really have. Check this section before you depend on floating-point textures, compressed texture formats, debug renderer info, timer queries, or other optional capabilities.

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

ExtensionsSupport
ANGLE_instanced_arrays
EXT_blend_minmax
EXT_clip_control
EXT_color_buffer_half_float
EXT_depth_clamp
EXT_disjoint_timer_query
EXT_float_blend
EXT_frag_depth
EXT_shader_texture_lod
EXT_sRGB
EXT_texture_compression_bptc
EXT_texture_compression_rgtc
EXT_texture_filter_anisotropic
EXT_texture_mirror_clamp_to_edge
KHR_parallel_shader_compile
OES_element_index_uint
OES_fbo_render_mipmap
OES_standard_derivatives
OES_texture_float
OES_texture_float_linear
OES_texture_half_float
OES_texture_half_float_linear
OES_vertex_array_object
WEBGL_color_buffer_float
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_depth_texture
WEBGL_draw_buffers
WEBGL_lose_context
WEBGL_multi_draw
WEBGL_polygon_mode
WEBKIT_WEBGL_compressed_texture_pvrtc

WebGL Parameters

Parameter values show the limits and defaults browsers expose in practice. Use these numbers when you need safe assumptions for texture sizes, render targets, attributes, uniforms, or other resource limits.

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

ParameterValues - Support
MAX_COLOR_ATTACHMENTS_WEBGL
MAX_COMBINED_TEXTURE_IMAGE_UNITS
MAX_CUBE_MAP_TEXTURE_SIZE
MAX_DRAW_BUFFERS_WEBGL
MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT
MAX_FRAGMENT_UNIFORM_VECTORS
MAX_RENDERBUFFER_SIZE
MAX_TEXTURE_IMAGE_UNITS
MAX_TEXTURE_MAX_ANISOTROPY_EXT
MAX_TEXTURE_SIZE
MAX_VARYING_VECTORS
MAX_VERTEX_ATTRIBS
MAX_VERTEX_TEXTURE_IMAGE_UNITS
MAX_VERTEX_UNIFORM_VECTORS
MAX_VIEWPORT_HEIGHT
MAX_VIEWPORT_WIDTH

WebGL Vendors

Vendor and renderer data help explain why the same browser can behave differently across devices. Use this section when you want to connect extension support or parameter values to the GPU families behind them.

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

VendorShare
Loading vendor share