API Catalog

Visualize and analyze the API overlap between standards specifications and type systems within browsers.

Browser information was gathered by traversing the type system within the latest available version of the top browsers. Specification data was gathered by extracting Web IDL definitions from notable web specifications. Note that an API that is shown as detected does not necessarily mean it functions per specification; where the absence of an API under an interface could be due to the browser supporting an API in a different part of the prototype chain. This data is made publicly available to help each browser vendor work toward the goal of a more interoperable web platform. For more information, visit our FAQ page.

APIs by interface

API NameSpecificationsMicrosoft EdgeGoogle ChromeMozilla FirefoxApple Safari
WebGL2RenderingContext
ACTIVE_UNIFORM_BLOCKS 
ALREADY_SIGNALED 
ANY_SAMPLES_PASSED 
ANY_SAMPLES_PASSED_CONSERVATIVE 
beginQuery 
beginTransformFeedback 
bindBufferBase 
bindBufferRange 
bindSampler 
bindTransformFeedback 
bindVertexArray 
blitFramebuffer 
clearBufferfi 
clearBufferfv 
clearBufferiv 
clearBufferuiv 
clientWaitSync 
COLOR 
COLOR_ATTACHMENT1 
COLOR_ATTACHMENT10 
COLOR_ATTACHMENT11 
COLOR_ATTACHMENT12 
COLOR_ATTACHMENT13 
COLOR_ATTACHMENT14 
COLOR_ATTACHMENT15 
COLOR_ATTACHMENT2 
COLOR_ATTACHMENT3 
COLOR_ATTACHMENT4 
COLOR_ATTACHMENT5 
COLOR_ATTACHMENT6 
COLOR_ATTACHMENT7 
COLOR_ATTACHMENT8 
COLOR_ATTACHMENT9 
COMPARE_REF_TO_TEXTURE 
compressedTexImage3D 
compressedTexSubImage3D 
CONDITION_SATISFIED 
constructor 
COPY_READ_BUFFER 
COPY_READ_BUFFER_BINDING 
COPY_WRITE_BUFFER 
COPY_WRITE_BUFFER_BINDING 
copyBufferSubData 
copyTexSubImage3D 
createQuery 
createSampler 
createTransformFeedback 
createVertexArray 
CURRENT_QUERY 
deleteQuery 
deleteSampler 
deleteSync 
deleteTransformFeedback 
deleteVertexArray 
DEPTH 
DEPTH_COMPONENT24 
DEPTH_COMPONENT32F 
DEPTH24_STENCIL8 
DEPTH32F_STENCIL8 
DRAW_BUFFER0 
DRAW_BUFFER1 
DRAW_BUFFER10 
DRAW_BUFFER11 
DRAW_BUFFER12 
DRAW_BUFFER13 
DRAW_BUFFER14 
DRAW_BUFFER15 
DRAW_BUFFER2 
DRAW_BUFFER3 
DRAW_BUFFER4 
DRAW_BUFFER5 
DRAW_BUFFER6 
DRAW_BUFFER7 
DRAW_BUFFER8 
DRAW_BUFFER9 
DRAW_FRAMEBUFFER 
DRAW_FRAMEBUFFER_BINDING 
drawArraysInstanced 
drawBuffers 
drawElementsInstanced 
drawRangeElements 
DYNAMIC_COPY 
DYNAMIC_READ 
endQuery 
endTransformFeedback 
fenceSync 
FLOAT_32_UNSIGNED_INT_24_8_REV 
FLOAT_MAT2x3 
FLOAT_MAT2x4 
FLOAT_MAT3x2 
FLOAT_MAT3x4 
FLOAT_MAT4x2 
FLOAT_MAT4x3 
FRAGMENT_SHADER_DERIVATIVE_HINT 
FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 
FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 
FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 
FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 
FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 
FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 
FRAMEBUFFER_ATTACHMENT_RED_SIZE 
FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 
FRAMEBUFFER_DEFAULT 
FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 
framebufferTextureLayer 
getActiveUniformBlockName 
getActiveUniformBlockParameter 
getActiveUniforms 
getBufferSubData 
getFragDataLocation 
getIndexedParameter 
getInternalformatParameter 
getQuery 
getQueryParameter 
getSamplerParameter 
getSyncParameter 
getTransformFeedbackVarying 
getUniformBlockIndex 
getUniformIndices 
HALF_FLOAT 
INT_2_10_10_10_REV 
INT_SAMPLER_2D 
INT_SAMPLER_2D_ARRAY 
INT_SAMPLER_3D 
INT_SAMPLER_CUBE 
INTERLEAVED_ATTRIBS 
INVALID_INDEX 
invalidateFramebuffer 
invalidateSubFramebuffer 
isQuery 
isSampler 
isSync 
isTransformFeedback 
isVertexArray 
length 
MAX 
MAX_3D_TEXTURE_SIZE 
MAX_ARRAY_TEXTURE_LAYERS 
MAX_CLIENT_WAIT_TIMEOUT_WEBGL  
MAX_COLOR_ATTACHMENTS 
MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 
MAX_COMBINED_UNIFORM_BLOCKS 
MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 
MAX_DRAW_BUFFERS 
MAX_ELEMENT_INDEX 
MAX_ELEMENTS_INDICES 
MAX_ELEMENTS_VERTICES 
MAX_FRAGMENT_INPUT_COMPONENTS 
MAX_FRAGMENT_UNIFORM_BLOCKS 
MAX_FRAGMENT_UNIFORM_COMPONENTS 
MAX_PROGRAM_TEXEL_OFFSET 
MAX_SAMPLES 
MAX_SERVER_WAIT_TIMEOUT 
MAX_TEXTURE_LOD_BIAS 
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_VERTEX_OUTPUT_COMPONENTS 
MAX_VERTEX_UNIFORM_BLOCKS 
MAX_VERTEX_UNIFORM_COMPONENTS 
MIN 
MIN_PROGRAM_TEXEL_OFFSET 
name 
OBJECT_TYPE 
PACK_ROW_LENGTH 
PACK_SKIP_PIXELS 
PACK_SKIP_ROWS 
pauseTransformFeedback 
PIXEL_PACK_BUFFER 
PIXEL_PACK_BUFFER_BINDING 
PIXEL_UNPACK_BUFFER 
PIXEL_UNPACK_BUFFER_BINDING 
prototype 
QUERY_RESULT 
QUERY_RESULT_AVAILABLE 
R11F_G11F_B10F 
R16F 
R16I 
R16UI 
R32F 
R32I 
R32UI 
R8 
R8_SNORM 
R8I 
R8UI 
RASTERIZER_DISCARD 
READ_BUFFER 
READ_FRAMEBUFFER 
READ_FRAMEBUFFER_BINDING 
readBuffer 
RED 
RED_INTEGER 
RENDERBUFFER_SAMPLES 
renderbufferStorageMultisample 
resumeTransformFeedback 
RG 
RG_INTEGER 
RG16F 
RG16I 
RG16UI 
RG32F 
RG32I 
RG32UI 
RG8 
RG8_SNORM 
RG8I 
RG8UI 
RGB_INTEGER 
RGB10_A2 
RGB10_A2UI 
RGB16F 
RGB16I 
RGB16UI 
RGB32F 
RGB32I 
RGB32UI 
RGB8 
RGB8_SNORM 
RGB8I 
RGB8UI 
RGB9_E5 
RGBA_INTEGER 
RGBA16F 
RGBA16I 
RGBA16UI 
RGBA32F 
RGBA32I 
RGBA32UI 
RGBA8 
RGBA8_SNORM 
RGBA8I 
RGBA8UI 
SAMPLER_2D_ARRAY 
SAMPLER_2D_ARRAY_SHADOW 
SAMPLER_2D_SHADOW 
SAMPLER_3D 
SAMPLER_BINDING 
SAMPLER_CUBE_SHADOW 
samplerParameterf 
samplerParameteri 
SEPARATE_ATTRIBS 
SIGNALED 
SIGNED_NORMALIZED 
SRGB 
SRGB8 
SRGB8_ALPHA8 
STATIC_COPY 
STATIC_READ 
STENCIL 
STREAM_COPY 
STREAM_READ 
SYNC_CONDITION 
SYNC_FENCE 
SYNC_FLAGS 
SYNC_FLUSH_COMMANDS_BIT 
SYNC_GPU_COMMANDS_COMPLETE 
SYNC_STATUS 
texImage3D 
texStorage2D 
texStorage3D 
texSubImage3D 
TEXTURE_2D_ARRAY 
TEXTURE_3D 
TEXTURE_BASE_LEVEL 
TEXTURE_BINDING_2D_ARRAY 
TEXTURE_BINDING_3D 
TEXTURE_COMPARE_FUNC 
TEXTURE_COMPARE_MODE 
TEXTURE_IMMUTABLE_FORMAT 
TEXTURE_IMMUTABLE_LEVELS 
TEXTURE_MAX_LEVEL 
TEXTURE_MAX_LOD 
TEXTURE_MIN_LOD 
TEXTURE_WRAP_R 
TIMEOUT_EXPIRED 
TIMEOUT_IGNORED 
TRANSFORM_FEEDBACK 
TRANSFORM_FEEDBACK_ACTIVE 
TRANSFORM_FEEDBACK_BINDING 
TRANSFORM_FEEDBACK_BUFFER 
TRANSFORM_FEEDBACK_BUFFER_BINDING 
TRANSFORM_FEEDBACK_BUFFER_MODE 
TRANSFORM_FEEDBACK_BUFFER_SIZE 
TRANSFORM_FEEDBACK_BUFFER_START 
TRANSFORM_FEEDBACK_PAUSED 
TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 
TRANSFORM_FEEDBACK_VARYINGS 
transformFeedbackVaryings 
UNIFORM_ARRAY_STRIDE 
UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 
UNIFORM_BLOCK_ACTIVE_UNIFORMS 
UNIFORM_BLOCK_BINDING 
UNIFORM_BLOCK_DATA_SIZE 
UNIFORM_BLOCK_INDEX 
UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 
UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 
UNIFORM_BUFFER 
UNIFORM_BUFFER_BINDING 
UNIFORM_BUFFER_OFFSET_ALIGNMENT 
UNIFORM_BUFFER_SIZE 
UNIFORM_BUFFER_START 
UNIFORM_IS_ROW_MAJOR 
UNIFORM_MATRIX_STRIDE 
UNIFORM_OFFSET 
UNIFORM_SIZE 
UNIFORM_TYPE 
uniform1ui 
uniform1uiv 
uniform2ui 
uniform2uiv 
uniform3ui 
uniform3uiv 
uniform4ui 
uniform4uiv 
uniformBlockBinding 
uniformMatrix2x3fv 
uniformMatrix2x4fv 
uniformMatrix3x2fv 
uniformMatrix3x4fv 
uniformMatrix4x2fv 
uniformMatrix4x3fv 
UNPACK_IMAGE_HEIGHT 
UNPACK_ROW_LENGTH 
UNPACK_SKIP_IMAGES 
UNPACK_SKIP_PIXELS 
UNPACK_SKIP_ROWS 
UNSIGNALED 
UNSIGNED_INT_10F_11F_11F_REV 
UNSIGNED_INT_2_10_10_10_REV 
UNSIGNED_INT_24_8 
UNSIGNED_INT_5_9_9_9_REV 
UNSIGNED_INT_SAMPLER_2D 
UNSIGNED_INT_SAMPLER_2D_ARRAY 
UNSIGNED_INT_SAMPLER_3D 
UNSIGNED_INT_SAMPLER_CUBE 
UNSIGNED_INT_VEC2 
UNSIGNED_INT_VEC3 
UNSIGNED_INT_VEC4 
UNSIGNED_NORMALIZED 
VERTEX_ARRAY_BINDING 
VERTEX_ATTRIB_ARRAY_DIVISOR 
VERTEX_ATTRIB_ARRAY_INTEGER 
vertexAttribDivisor 
vertexAttribI4i 
vertexAttribI4iv 
vertexAttribI4ui 
vertexAttribI4uiv 
vertexAttribIPointer 
WAIT_FAILED 
waitSync 
WebGLQuery
constructor 
length 
name 
prototype 
WebGLSampler
constructor 
length 
name 
prototype 
WebGLSync
constructor 
length 
name 
prototype 
WebGLTransformFeedback
constructor 
length 
name 
prototype 
WebGLVertexArrayObject
constructor 
length 
name 
prototype