GPUCompilationMessage: linePos 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 linePos read-only property of the GPUCompilationMessage interface is a number representing the position in the code line that the message corresponds to. This could be an exact point, or the start of the relevant substring.


A number.

To be precise, linePos is the number of UTF-16 code units from the beginning of the line to the exact point or start of the relevant substring that the message corresponds to.

Note that:

  • If the message corresponds to a substring, linePos refers to the first UTF-16 code unit of the substring.
  • If the message does not correspond to a specific code position (perhaps it refers to the whole of the shader code), linePos will be 0.
  • Values are one-based — a value of 1 refers to the first code unit of the line.


  // ...
  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-linepos

Browser compatibility

BCD tables only load in the browser

See also