preserveAlpha

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

the preserveAlpha attribute indicates how a <feConvolveMatrix> element handles alpha transparency.

You can use this attribute with the following SVG elements:

Example

html
<svg viewBox="0 0 420 200" xmlns="http://www.w3.org/2000/svg">
  <filter id="convolveMatrix1" x="0" y="0" width="100%" height="100%">
    <feConvolveMatrix kernelMatrix="1 -1 2 0 0 0 0 0 -2" preserveAlpha="true" />
  </filter>
  <filter id="convolveMatrix2" x="0" y="0" width="100%" height="100%">
    <feConvolveMatrix
      kernelMatrix="1 -1 2 0 0 0 0 0 -2"
      preserveAlpha="false" />
  </filter>

  <image
    href="mdn_logo_only_color.png"
    width="200"
    height="200"
    style="filter:url(#convolveMatrix1);" />
  <image
    href="mdn_logo_only_color.png"
    width="200"
    height="200"
    style="filter:url(#convolveMatrix2); transform:translateX(220px);" />
</svg>

Usage notes

Default value false
Value true | false
Animatable Yes
true

This value indicates that the convolution is applied only to the color channels. In this case, the filter temporarily removes alpha premultiplication from the color component values, applies the kernel, and then reapplies alpha premultiplication as a final step.

false

This value indicates that the convolution is applied to all channels, including the alpha channel.

Specifications

Specification
Filter Effects Module Level 1
# element-attrdef-feconvolvematrix-preservealpha

Browser compatibility

BCD tables only load in the browser