The WebGLVertexArrayObject interface is part of the WebGL 2 API, represents vertex array objects (VAOs) pointing to vertex array data, and provides names for different sets of vertex data.

When working with WebGLVertexArrayObject objects, the following methods are useful:

WebGL 1: The OES_vertex_array_object extension allows you to use vertex array objects in a WebGL 1 context.


var vao = gl.createVertexArray();

// ...
// calls to bindBuffer or vertexAttribPointer
// which will be "recorded" in the VAO
// ...


Specification Status Comment
WebGL 2.0
The definition of 'WebGLVertexArrayObject' in that specification.
Editor's Draft Initial definition.

Browser compatibility

BCD tables only load in the browser

See also