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.

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

97.95%
overall support

6.99% 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.

This table shows how overall WebGL2 support varies by platform.

PlatformSupport
Android99.09%
Chromium OS99.93%
iOS97.96%
Linux90.58%
Mac OS97.24%
Windows99.18%

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
Chrome/Chromium98.13%
Edge99.69%
Firefox97.15%
Opera99.45%
Other96%
Safari95.34%
Samsung Internet99.9%

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.

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

ParameterValues - Support
FRAGMENT_INTERPOLATION_OFFSET_BITS_OES
0100%
4100%
81%
MAX_3D_TEXTURE_SIZE
1024100%
2048100%
40969%
81928%
163833%
163841%
MAX_ARRAY_TEXTURE_LAYERS
256100%
51299%
102499%
204899%
40966%
MAX_CLIENT_WAIT_TIMEOUT_WEBGL
0100%
10000000007%
MAX_CLIP_DISTANCES_WEBGL
0100%
8100%
MAX_COLOR_ATTACHMENTS
4100%
698%
794%
894%
MAX_COLOR_ATTACHMENTS_WITH_ACTIVE_PIXEL_LOCAL_STORAGE_WEBGL
0100%
31%
81%
MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL
0100%
869%
166%
MAX_COMBINED_DRAW_BUFFERS_AND_PIXEL_LOCAL_STORAGE_PLANES_WEBGL
4100%
699%
799%
898%
1669%
MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS
5004899%
5020899%
5035299%
5324799%
5324899%
6963195%
6963294%
19763274%
20063474%
20064474%
20065474%
20066474%
20067474%
20068474%
20069474%
20070374%
20070472%
21708826%
22937226%
22937626%
23037026%
23039926%
23040026%
23244821%
23343221%
23344221%
23345221%
23346221%
23347121%
23347221%
24575920%
24576020%
24985515%
24985615%
26207414%
26208414%
26211014%
26213414%
26213914%
26214014%
26214314%
26214414%
26316811%
26620011%
26621011%
26622011%
26624011%
27852810%
58982410%
60620710%
60620810%
10485755%
10485765%
39485444%
377567364%
2516746234%
2516746244%
4026542084%
4026572604%
4026572794%
4026572804%
4026695673%
4026695683%
10066493443%
12079759353%
12079759363%
16356106242%
16375997442%
18692515842%
20087587832%
20087587842%
20132823032%
20132823042%
21474836462%
21474836472%
26033712641%
26156400641%
26263229441%
28268861441%
28467543031%
28481943041%
28506557441%
28529981441%
28535434241%
28681891841%
28702090241%
28728163841%
28737533441%
28805923841%
28842595841%
28858954241%
28858992641%
28875811841%
30199152641%
MAX_COMBINED_TEXTURE_IMAGE_UNITS
16100%
30100%
32100%
4827%
6420%
787%
807%
946%
966%
1122%
1282%
1442%
1582%
1602%
1902%
1922%
2551%
2561%
3841%
MAX_COMBINED_UNIFORM_BLOCKS
21100%
22100%
23100%
2498%
2648%
2748%
2848%
2948%
3048%
3148%
3247%
3527%
3627%
4126%
4226%
4422%
4522%
4719%
4819%
5218%
5718%
5918%
6018%
657%
697%
707%
717%
727%
736%
746%
756%
775%
785%
795%
805%
814%
824%
834%
844%
872%
882%
892%
902%
962%
2152%
2161%
MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS
5018899%
5035299%
5120099%
5324799%
5324899%
6963195%
6963294%
19763174%
19763274%
21292274%
21293274%
21294274%
21296274%
21296874%
21297274%
21297874%
21298274%
21298774%
21298873%
21299158%
21299257%
21708826%
22937626%
23036026%
23039926%
23040026%
23244821%
23340221%
23341221%
23343221%
23346221%
23347121%
23347221%
24575920%
24576020%
24985515%
24985615%
26205214%
26207414%
26210414%
26211114%
26211214%
26211414%
26212414%
26214314%
26214414%
26316811%
26617011%
26618011%
26619011%
26620011%
26624011%
27852810%
58982410%
60620710%
60620810%
10485755%
10485765%
39485444%
377567364%
2516746244%
4026542084%
4026552324%
4026572604%
4026572794%
4026572804%
4026695673%
4026695683%
10066493443%
12079759353%
12079759363%
16356106242%
16375997442%
18692515842%
20087587832%
20087587842%
20132823042%
21474836462%
21474836472%
26033712641%
26156400641%
26263229431%
28268861441%
28467543031%
28481943041%
28506557441%
28529981441%
28535434241%
28681891841%
28702090241%
28728163841%
28737533441%
28805923841%
28842595841%
28858954241%
28858992641%
28875811841%
30199152641%
MAX_CUBE_MAP_TEXTURE_SIZE
2048100%
4096100%
819297%
1638385%
1638484%
327681%
MAX_CULL_DISTANCES_WEBGL
0100%
869%
MAX_DRAW_BUFFERS
4100%
698%
794%
894%
MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT
1100%
MAX_ELEMENT_INDEX
65535100%
16777215100%
1073741823100%
214748363795%
214748364795%
429496727983%
429496728083%
429496728283%
429496728383%
429496728483%
429496728583%
429496728783%
429496728883%
429496728983%
429496729083%
429496729183%
429496729283%
429496729383%
429496729483%
42949672954%
MAX_ELEMENTS_INDICES
2850100%
2900100%
2950100%
3000100%
6548695%
6553595%
6553695%
14990095%
15000095%
104852693%
104857693%
1677721592%
1677721692%
53687091186%
214748349786%
214748354786%
214748359786%
214748364786%
MAX_ELEMENTS_VERTICES
32100%
2850100%
2900100%
2950100%
3000100%
6553595%
6553695%
104842595%
104842695%
104847595%
104847695%
104852595%
104857595%
104857693%
1677721692%
53687091186%
214748349786%
214748354786%
214748359786%
214748364786%
MAX_FRAGMENT_INPUT_COMPONENTS
30100%
59100%
60100%
6399%
6499%
6899%
11699%
11998%
12096%
12333%
12433%
12719%
12818%
MAX_FRAGMENT_INTERPOLATION_OFFSET_OES
0100%
0.4375100%
0.545%
11%
MAX_FRAGMENT_UNIFORM_BLOCKS
11100%
1298%
1347%
1447%
1535%
1630%
352%
362%
MAX_FRAGMENT_UNIFORM_COMPONENTS
512100%
896100%
1023100%
1024100%
104495%
120095%
204895%
307295%
409595%
409692%
800010%
819010%
819210%
1638010%
1638310%
1638410%
MAX_FRAGMENT_UNIFORM_VECTORS
128100%
224100%
256100%
26195%
30095%
51295%
76895%
102495%
200010%
204710%
204810%
409510%
409610%
MAX_PIXEL_LOCAL_STORAGE_PLANES_WEBGL
4100%
699%
799%
898%
MAX_PROGRAM_TEXEL_OFFSET
7100%
312%
631%
MAX_RENDERBUFFER_SIZE
2048100%
4096100%
8192100%
1638392%
1638487%
327682%
MAX_SAMPLES
0100%
1100%
4100%
859%
1619%
MAX_SERVER_WAIT_TIMEOUT
0100%
50000011%
100000011%
214748364710%
3518222460518310%
429496729500000010%
92233720347072920006%
184467440737095520002%
MAX_TEXTURE_IMAGE_UNITS
2100%
4100%
8100%
16100%
2415%
3015%
3215%
641%
MAX_TEXTURE_LOD_BIAS
1100%
2100%
1252%
1452%
1552%
15.98437517%
15.9960937517%
1612%
316%
1266%
126.996093756%
1273%
255.996093752%
2561%
MAX_TEXTURE_MAX_ANISOTROPY_EXT
0100%
2100%
4100%
8100%
16100%
MAX_TEXTURE_SIZE
2048100%
4096100%
819297%
1638380%
1638480%
327681%
MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS
32100%
60100%
63100%
64100%
11988%
12087%
12741%
12840%
MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS
4100%
MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS
2100%
4100%
81%
161%
301%
641%
1281%
MAX_UNIFORM_BLOCK_SIZE
16384100%
3276874%
6553674%
41943041%
671088641%
1342177281%
MAX_UNIFORM_BUFFER_BINDINGS
21100%
22100%
23100%
2498%
2848%
3148%
3247%
4227%
4527%
5227%
5427%
5627%
5727%
5927%
6027%
6927%
7027%
7127%
7227%
756%
776%
786%
796%
806%
815%
835%
845%
883%
893%
903%
962%
1022%
1052%
1082%
1112%
1132%
1142%
1182%
1202%
2152%
2161%
MAX_VARYING_COMPONENTS
30100%
59100%
60100%
6299%
6399%
6499%
10799%
10899%
11997%
12095%
12332%
12432%
1275%
1285%
MAX_VARYING_VECTORS
4100%
8100%
15100%
1699%
2798%
3097%
3132%
327%
MAX_VERTEX_ATTRIBS
4100%
8100%
16100%
303%
323%
MAX_VERTEX_OUTPUT_COMPONENTS
32100%
60100%
63100%
64100%
6898%
9598%
9698%
11998%
12096%
12334%
12434%
12723%
12822%
MAX_VERTEX_TEXTURE_IMAGE_UNITS
2100%
4100%
8100%
16100%
2416%
3015%
3215%
641%
MAX_VERTEX_UNIFORM_BLOCKS
11100%
1298%
1347%
1447%
1535%
1630%
352%
362%
MAX_VERTEX_UNIFORM_COMPONENTS
512100%
1023100%
1024100%
120095%
204895%
307295%
409595%
409694%
800057%
817657%
819057%
819257%
1635257%
1637957%
1638056%
1638342%
1638441%
MAX_VERTEX_UNIFORM_VECTORS
128100%
256100%
30095%
51295%
76895%
102495%
200057%
204757%
204857%
408857%
409557%
409641%
MAX_VIEWPORT_HEIGHT
2048100%
4096100%
8192100%
1638394%
1638489%
3276749%
327682%
MAX_VIEWPORT_WIDTH
2048100%
4096100%
8192100%
1638394%
1638489%
3276749%
327682%
MAX_VIEWS_OVR
0100%
4100%
61%
81%
321%
MIN_FRAGMENT_INTERPOLATION_OFFSET_OES
-8100%
-2100%
-0.599%
-0.43751%
MIN_PROGRAM_TEXEL_OFFSET
-64100%
-3299%
-898%

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.