stroke-dashoffset

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨March 2020⁩.

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 also has a CSS property counterpart: stroke-dashoffset. When both are specified, the CSS property takes priority.

You can use this attribute with the following SVG elements:

Example

html
<svg viewBox="-3 0 33 10" xmlns="http://www.w3.org/2000/svg"> <!-- 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="rgb(255 0 0 / 50%)" /> </svg> 

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.

Specifications

Specification
Scalable Vector Graphics (SVG) 2
# StrokeDashoffsetProperty

Browser compatibility

See also