The stroke-dashoffset attribute is a presentation attribute defining an offset on the rendering of the associated dash array.

Note: As a presentation attribute stroke-dashoffset can be used as a CSS property.

You can use this attribute with the following SVG elements:


<svg viewBox="-3 0 33 10" xmlns="">
  <!-- No dash array -->
  <line x1="0" y1="1" x2="30" y2="1" stroke="black" />

  <!-- No dash offset -->
  <line x1="0" y1="3" x2="30" y2="3" stroke="black"
        stroke-dasharray="3 1" />

  The start of the dash array computation
  is pulled by 3 user units
  <line x1="0" y1="5" x2="30" y2="5" stroke="black"
        stroke-dasharray="3 1"
        stroke-dashoffset="3" />

  The start of the dash array computation
  is pushed by 3 user units
  <line x1="0" y1="7" x2="30" y2="7" stroke="black"
        stroke-dasharray="3 1"
        stroke-dashoffset="-3" />

  The start of the dash array computation
  is pulled by 1 user units which ends up
  in the same rendering as the previous example
  <line x1="0" y1="9" x2="30" y2="9" stroke="black"
        stroke-dasharray="3 1"
        stroke-dashoffset="1" />

  the following red lines highlight the
  offset of the dash array for each line
  <path d="M0,5 h-3 M0,7 h3 M0,9 h-1" stroke="rgba(255,0,0,.5)" />

Usage notes

Value <percentage> | <length>
Default value 0
Animatable Yes

The offset is usually expressed in user units resolved against the pathLength but if a <percentage> is used, the value is resolved as a percentage of the current viewport.


Scalable Vector Graphics (SVG) 1.1 (Second Edition)
# StrokeDashoffsetProperty

Browser compatibility

BCD tables only load in the browser