stroke-opacity

The stroke-opacity attribute is a presentation attribute defining the opacity of the paint server (color, gradient, pattern, etc) applied to the stroke of a shape.

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

You can use this attribute with the following SVG elements:

Example

<svg viewBox="0 0 40 10" xmlns="http://www.w3.org/2000/svg">
  <!-- Default stroke opacity: 1 -->
  <circle cx="5" cy="5" r="4" stroke="green" />

  <!-- Stroke opacity as a number -->
  <circle cx="15" cy="5" r="4" stroke="green"
          stroke-opacity="0.7" />

  <!-- Stroke opacity as a percentage -->
  <circle cx="25" cy="5" r="4" stroke="green"
          stroke-opacity="50%" />

  <!-- Stroke opacity as a CSS property -->
  <circle cx="35" cy="5" r="4" stroke="green"
          style="stroke-opacity: .3;" />
</svg>

Usage notes

Value [0-1] | <percentage>
Default value 1
Animatable Yes

Note: SVG2 introduces percentage values for stroke-opacity, however, it is not widely supported yet (See Browser compatibility below) as a consequence, it is best practices to set opacity with a value in the range [0-1].

It's important to know that the stroke partially covers the fill of a shape, so a stroke with an opacity different than 1 will partially show the fill underneath. To avoid this effect, it is possible to apply a global opacity with the opacity attribute or to put the stroke behind the fill with the paint-order attribute.

Browser compatibility

BCD tables only load in the browser

Specifications

Specification Status Comment
Scalable Vector Graphics (SVG) 2
The definition of 'stroke-opacity' in that specification.
Candidate Recommendation Definition for shapes and texts
Scalable Vector Graphics (SVG) 1.1 (Second Edition)
The definition of 'stroke-opacity' in that specification.
Recommendation Initial definition for shapes and texts