The WebGLRenderingContext.createProgram() method of the WebGL API creates and initializes a WebGLProgram object.


WebGLProgram gl.createProgram();



Return value

A WebGLProgram object that is a combination of two compiled WebGLShaders consisting of a vertex shader and a fragment shader (both written in GLSL). These are then linked into a usable program..


Creating a WebGL program

var program = gl.createProgram();

// Attach pre-existing shaders
gl.attachShader(program, vertexShader);
gl.attachShader(program, fragmentShader);


if ( !gl.getProgramParameter( program, gl.LINK_STATUS) ) {
  var info = gl.getProgramInfoLog(program);
  throw "Could not compile WebGL program. \n\n" + info;

See WebGLShader for information on creating the vertexShader and fragmentShader in the above example.


Specification Status Comment
WebGL 1.0
The definition of 'createProgram' in that specification.
Recommendation Initial definition.
OpenGL ES 2.0
The definition of 'glCreateProgram' in that specification.
Standard Man page of the (similar) OpenGL API.

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support 9 12 4.0 (2.0) 11 12 5.1
Feature Android Chrome for Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile
Basic support ? 25 4.0 (2.0) 1.0 ? 12 8.0

See also

Document Tags and Contributors

 Contributors to this page: fscholz
 Last updated by: fscholz,