GPUCompilationMessage: lineNum 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 lineNum read-only property of the GPUCompilationMessage interface is a number representing the line number in the shader code that the message corresponds to.


A number.

Note that:

  • If the message corresponds to a substring, lineNum refers to the line number that the substring begins on.
  • If the message does not correspond to a specific line of code (perhaps it refers to the whole of the shader code), lineNum will be 0.
  • Values are one-based — a value of 1 refers to the first line of code.
  • Lines are delimited by line breaks. In WGSL, a specific list of characters is defined as line breaks.


  // ...
  const shaderModule = device.createShaderModule({
    code: shaders,

  const shaderInfo = await shaderModule.getCompilationInfo();
  const firstMessage = shaderInfo.messages[0];
  // ...

See the main GPUCompilationInfo page for a more detailed example.


# dom-gpucompilationmessage-linenum

Browser compatibility

BCD tables only load in the browser

See also