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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
preserveAlpha

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support