WebGL Browser Report

WebGL is a JavaScript API for rendering interactive 3D graphics within any compatible web browser without the use of plug-ins. WebGL apps consist of a control code written in JavaScript and special effects code that is executed on a computer's GPU. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.

WebGL Browser Report checks WebGL support in your web browser, produce WebGL Device Fingerprinting, and shows the other WebGL and GPU capabilities more or less related web browser identity.

Your Web Browser

User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) coc_coc_browser/99.0.92 Chrome/93.0.4577.92 Safari/537.36

WebGL Support Detection

This browser supports WebGL × False (JavaScript disabled)
This browser supports WebGL 2 × False (JavaScript disabled)
gl.copyBufferSubData
gl.getBufferSubData
gl.blitFramebuffer
gl.framebufferTextureLayer
gl.getInternalformatParameter
gl.invalidateFramebuffer
gl.invalidateSubFramebuffer
gl.readBuffer
gl.renderbufferStorageMultisample
gl.texStorage2D
gl.texStorage3D
gl.texImage3D
gl.texSubImage3D
gl.copyTexSubImage3D
gl.compressedTexImage3D
gl.compressedTexSubImage3D
gl.getFragDataLocation
gl.uniform1ui
gl.uniform2ui
gl.uniform3ui
gl.uniform4ui
gl.uniform1uiv
gl.uniform2uiv
gl.uniform3uiv
gl.uniform4uiv
gl.uniformMatrix2x3fv
gl.uniformMatrix3x2fv
gl.uniformMatrix2x4fv
gl.uniformMatrix4x2fv
gl.uniformMatrix3x4fv
gl.uniformMatrix4x3fv
gl.vertexAttribI4i
gl.vertexAttribI4iv
gl.vertexAttribI4ui
gl.vertexAttribI4uiv
gl.vertexAttribIPointer
gl.vertexAttribDivisor
gl.drawArraysInstanced
gl.drawElementsInstanced
gl.drawRangeElements
gl.drawBuffers
gl.clearBufferiv
gl.clearBufferuiv
gl.clearBufferfv
gl.clearBufferfi
gl.createQuery
gl.deleteQuery
gl.isQuery
gl.beginQuery
gl.endQuery
gl.getQuery
gl.getQueryParameter
gl.createSampler
gl.deleteSampler
gl.isSampler
gl.bindSampler
gl.samplerParameteri
gl.samplerParameterf
gl.getSamplerParameter
gl.fenceSync
gl.isSync
gl.deleteSync
gl.clientWaitSync
gl.waitSync
gl.getSyncParameter
gl.createTransformFeedback
gl.deleteTransformFeedback
gl.isTransformFeedback
gl.bindTransformFeedback
gl.beginTransformFeedback
gl.endTransformFeedback
gl.transformFeedbackVaryings
gl.getTransformFeedbackVarying
gl.pauseTransformFeedback
gl.resumeTransformFeedback
gl.bindBufferBase
gl.bindBufferRange
gl.getIndexedParameter
gl.getUniformIndices
gl.getActiveUniforms
gl.getUniformBlockIndex
gl.getActiveUniformBlockParameter
gl.getActiveUniformBlockName
gl.uniformBlockBinding
gl.createVertexArray
gl.deleteVertexArray
gl.isVertexArray
gl.bindVertexArray

WebGL Context Info

Supported Context Name(s) {webgl2, experimental-webgl2, webgl, experimental-webgl, moz-webgl}
GL Version VERSION
Shading Language Version SHADING_LANGUAGE_VERSION
Vendor VENDOR
Renderer RENDERER
Antialiasing getContextAttributes().antialias
ANGLE Almost Native Graphics Layer Engine
Major Performance Caveat failIfMajorPerformanceCaveat

Debug Renderer Info

Unmasked Vendor UNMASKED_VENDOR_WEBGL
Unmasked Renderer UNMASKED_RENDERER_WEBGL

WebGL Fingerprint

WebGL Report Hash n/a
WebGL Image Hash n/a
WebGL Image n/a

Vertex Shader

Max Vertex Attributes MAX_VERTEX_ATTRIBS
Max Vertex Uniform Vectors MAX_VERTEX_UNIFORM_VECTORS
Max Vertex Texture Image Units MAX_VERTEX_TEXTURE_IMAGE_UNITS
Max Varying Vectors MAX_VARYING_VECTORS
Best Float Precision getShaderPrecisionFormat(VERTEX_SHADER)
Max Vertex Uniform Components: MAX_VERTEX_UNIFORM_COMPONENTS
Max Vertex Uniform Blocks: MAX_VERTEX_UNIFORM_BLOCKS
Max Vertex Output Components: MAX_VERTEX_OUTPUT_COMPONENTS
Max Varying Components: MAX_VARYING_COMPONENTS

Transform Feedback

Max Interleaved Components: MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS
Max Separate Attribs: MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS
Max Separate Components: MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS

Rasterizer

Aliased Line Width Range ALIASED_LINE_WIDTH_RANGE
Aliased Point Size Range ALIASED_POINT_SIZE_RANGE

Fragment Shader

Max Fragment Uniform Vectors MAX_FRAGMENT_UNIFORM_VECTORS
Max Texture Image Units MAX_TEXTURE_IMAGE_UNITS
Float/Int Precision: getShaderPrecisionFormat(FRAGMENT_SHADER, HIGH_FLOAT/HIGH_INT)
Best Float Precision getShaderPrecisionFormat(FRAGMENT_SHADER)
Max Fragment Uniform Components: MAX_FRAGMENT_UNIFORM_COMPONENTS
Max Fragment Uniform Blocks: MAX_FRAGMENT_UNIFORM_BLOCKS
Max Fragment Input Components: MAX_FRAGMENT_INPUT_COMPONENTS
Min Program Texel Offset: MIN_PROGRAM_TEXEL_OFFSET
Max Program Texel Offset: MAX_PROGRAM_TEXEL_OFFSET

Framebuffer

Max Draw Buffers: MAX_DRAW_BUFFERS
Max Color Attachments: MAX_COLOR_ATTACHMENTS
Max Samples: MAX_SAMPLES
Max Color Buffers: MAX_DRAW_BUFFERS_WEBGL
RGBA Bits [RED_BITS, GREEN_BITS, BLUE_BITS, ALPHA_BITS]
Depth / Stencil Bits: [DEPTH_BITS, STENCIL_BITS]
Max Render Buffer Size MAX_RENDERBUFFER_SIZE
Max Viewport Dimensions MAX_VIEWPORT_DIMS

Textures

Max Texture Size MAX_TEXTURE_SIZE
Max Cube Map Texture Size MAX_CUBE_MAP_TEXTURE_SIZE
Max Combined Texture Image Units MAX_COMBINED_TEXTURE_IMAGE_UNITS
Max Anisotropy MAX_TEXTURE_MAX_ANISOTROPY_EXT
Max 3D Texture Size: MAX_3D_TEXTURE_SIZE
Max Array Texture Layers: MAX_ARRAY_TEXTURE_LAYERS
Max Texture LOD Bias: MAX_TEXTURE_LOD_BIAS

Uniform Buffers

Max Uniform Buffer Bindings: MAX_UNIFORM_BUFFER_BINDINGS
Max Uniform Block Size: MAX_UNIFORM_BLOCK_SIZE
Uniform Buffer Offset Alignment: UNIFORM_BUFFER_OFFSET_ALIGNMENT
Max Combined Uniform Blocks: MAX_COMBINED_UNIFORM_BLOCKS
Max Combined Vertex Uniform
Components:
MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS
Max Combined Fragment Uniform
Components:
MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS

WebGL Extensions

Supported WebGL Extensions
Supported Privileged Extensions
{OES_texture_float; OES_texture_half_float; WEBGL_lose_context; OES_standard_derivatives; OES_vertex_array_object; WEBGL_debug_renderer_info; WEBGL_debug_shaders; WEBGL_compressed_texture_s3tc; WEBGL_depth_texture; OES_element_index_uint; EXT_texture_filter_anisotropic; EXT_frag_depth; WEBGL_draw_buffers; ANGLE_instanced_arrays; OES_texture_float_linear; OES_texture_half_float_linear; EXT_blend_minmax; EXT_shader_texture_lod; WEBGL_compressed_texture_atc; WEBGL_compressed_texture_pvrtc; EXT_color_buffer_half_float; WEBGL_color_buffer_float; EXT_sRGB; WEBGL_compressed_texture_etc1; EXT_disjoint_timer_query; WEBGL_compressed_texture_etc; WEBGL_compressed_texture_astc; EXT_color_buffer_float; EXT_disjoint_timer_query_webgl2; WEBGL_shared_resources; WEBGL_security_sensitive_resources; OES_fbo_render_mipmap; WEBGL_compressed_texture_s3tc_srgb; WEBGL_get_buffer_sub_data_async; EXT_clip_cull_distance; EXT_float_blend; EXT_texture_storage; OES_EGL_image_external; WEBGL_debug; WEBGL_dynamic_texture; WEBGL_multiview; WEBGL_subarray_uploads; OES_depth24; WEBGL_debug_shader_precision; WEBGL_draw_elements_no_range_check; WEBGL_subscribe_uniform; WEBGL_texture_from_depth_video; WEBGL_compressed_texture_es3; WEBGL_compressed_texture_astc_ldr; EXT_draw_buffers}

What is WebGL Fingerprinting

There are two kinds of WebGL fingerprints you can see:

How to Enable or Disable WebGL in Your Web Browser

WebGL in Firefox

WebGL is supported and enabled by default since Firefox 4 and Firefox for Android 19.

To enable or disable WebGL in Firefox, follow the simple steps:

  1. In the address bar, type about:config, without any http:// or www
  2. Click the button labeled «I'll be careful, I promise!»
  3. In Search field, enter webgl.disabled string
  4. Toggle webgl.disabled to true to disable WebGL, or to false to enable WebGL, please do not confuse.

WebGL 2.0:

To enable WebGL 2 in Firefox, go to about:config and toggle webgl.enable-webgl2 to true.

WebGL 2 is enabled by default since Firefox 51.

WebGL in Chrome

WebGL is supported and enabled by default since Chrome 8.

To disable WebGL, start Google Chrome with one of these command-line options:

  1. --disable-webgl turn off WebGL
  2. --disable-3d-apis turn off all client-visible 3D APIs, in particular WebGL and Pepper 3D

These instructions are valid for all Chromium-based web browsers, the same way you can setup WebGL in Opera and Vivaldi.

WebGL 2.0:

To enable WebGL 2 in Chrome, open chrome://flags/, find WebGL 2.0 flag and toggle it to Enabled.

WebGL 2 is enabled by default since Chrome 56.

WebGL in Safari

WebGL is available and enabled by default since Safari 8.

Safari – the only browser that has the ability to Ask before running WebGL scripts on random websites. You can easily enable or disable WebGL globally or for a specific website, by going the menu PreferencesSecurityAllow WebGLWebsite Settings.

WebGL 2.0:

WebGL 2 is available in Safari 10 Technology Previews, it can be enabled via the «Experimental Features» develop menu.

WebGL in Edge and IE

WebGL enabled by default since IE 11, and there is no way to turn it off.

WebGL 2.0: so far no info about supporting WebGL 2 in Edge or IE.

Further Reading

Leave a Comment (18)