GPUTexture: dimension property

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The dimension read-only property of the GPUTexture interface represents the dimension of the set of texels for each GPUTexture subresource.

This is set via the dimension property in the descriptor object passed into the originating GPUDevice.createTexture() call, which defaults to "2d" if omitted.


An enumerated value. Possible values are:

  • "1d": A one-dimensional texture with a single dimension, width.
  • "2d": A two-dimensional texture with a width and height, which may also have layers. Only "2d" textures can have mipmaps, be multisampled, use a compressed or depth/stencil format, and be used as a render attachment.
  • "3d": A three-dimensional texture with a width, height, and depth.


// ...

const depthTexture = device.createTexture({
  size: [canvas.width, canvas.height],
  format: "depth24plus",
  usage: GPUTextureUsage.RENDER_ATTACHMENT,

console.log(depthTexture.dimension); // "2d"


# dom-gputexture-dimension

Browser compatibility

BCD tables only load in the browser

See also