Note: This shows which WebGL version your browser supports.
WebGL version indicates which generation of the WebGL graphics API your browser and GPU support. The version determines what graphics features and capabilities are available to web applications:
WebGL was developed by the Khronos Group to bring hardware-accelerated 3D graphics to the web without plugins. The version number reflects the evolution of web graphics capabilities.
Developers need to know the WebGL version to:
Typical string: "WebGL 2.0" or "WebGL2RenderingContext"
Indicates: Modern browser + capable GPU/drivers
Common on: Desktop Chrome/Firefox/Edge (2018+), modern Safari
Typical string: "WebGL 1.0" or "WebGLRenderingContext"
Indicates: Older browser, older GPU, or limited drivers
Common on: Older mobile devices, Safari iOS (before iOS 15), legacy browsers
String: "Not supported" or null context
Indicates: Very old browser, disabled WebGL, or blacklisted GPU
Common on: IE 10 and older, privacy-focused browsers with WebGL disabled
function detectWebGLVersion() {
const canvas = document.createElement('canvas');
// Try WebGL 2.0 first
const gl2 = canvas.getContext('webgl2');
if (gl2) {
const version = gl2.getParameter(gl2.VERSION);
return { version: 'WebGL 2.0', versionString: version };
}
// Fall back to WebGL 1.0
const gl = canvas.getContext('webgl') ||
canvas.getContext('experimental-webgl');
if (gl) {
const version = gl.getParameter(gl.VERSION);
return { version: 'WebGL 1.0', versionString: version };
}
return { version: 'Not supported', versionString: null };
}
"WebGL 2.0 (OpenGL ES 3.0 Chromium)""WebGL 1.0 (OpenGL ES 2.0 Chromium)""WebGL 2.0 (OpenGL ES 3.0 Mesa)" (Linux)"WebGL 1.0" (Safari iOS)| Browser/Platform | WebGL 1.0 | WebGL 2.0 | Notes |
|---|---|---|---|
| Chrome Desktop | Yes (since v9, 2011) | Yes (since v56, 2017) | Full support, best performance |
| Firefox Desktop | Yes (since v4, 2011) | Yes (since v51, 2017) | Excellent support |
| Safari Desktop | Yes (since 5.1, 2011) | Yes (since 15, 2021) | Late WebGL 2.0 adoption |
| Edge Desktop | Yes | Yes | Chromium-based, same as Chrome |
| Chrome Android | Yes | Yes (most devices) | Depends on GPU/drivers |
| Safari iOS | Yes (since iOS 8, 2014) | Yes (since iOS 15, 2021) | Late WebGL 2.0 support |
| Firefox Android | Yes | Limited | WebGL 2.0 disabled on many devices |
| Internet Explorer 11 | Yes | No | Deprecated browser |
WebGL version is a moderate fingerprinting factor. While not highly unique on its own (only 3 possible values), it contributes to browser fingerprinting when combined with other attributes.
WebGL version has only three possible values:
This provides minimal entropy by itself, but becomes powerful when combined with other data.
WebGL version combines with other attributes for stronger identification:
WebGL version can indicate device generation:
While WebGL version alone doesn't enable strong tracking, it's a stable attribute that:
| Attribute | Uniqueness | Stability |
|---|---|---|
| GPU Renderer | Very High | Very High |
| Canvas Fingerprint | Very High | High |
| Screen Resolution | Medium-High | High |
| WebGL Version | Low | High |
| Timezone | Low-Medium | Medium |
| Language | Low | High |
1. Type about:config in the address bar
2. Search for webgl.disabled
3. Set to true
Result: No WebGL version exposed, websites see "not supported"
1. Navigate to chrome://flags
2. Search for "WebGL"
3. Disable both "WebGL" and "WebGL 2.0"
4. Restart browser
Trade-off: Many websites will break (maps, games, 3D visualizations)
1. Type about:config
2. Search for webgl.disable-webgl2
3. Set to true
Effect: You appear as WebGL 1.0 user (larger anonymity set)
By reporting WebGL 1.0 instead of 2.0, you join a smaller but still significant group (~10% vs ~85%). This provides some privacy benefit without completely breaking functionality.
1. Type about:config
2. Search for privacy.resistFingerprinting
3. Set to true
Effect: Firefox standardizes many attributes including WebGL behavior
webgl.enable-debug-renderer-info (blocks GPU model)