This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The mask-composite CSS property represents a compositing operation used on the current mask layer with the mask layers below it.

/* Keyword values */
mask-composite: add;
mask-composite: subtract;
mask-composite: intersect;
mask-composite: exclude;

/* Global values */
mask-composite: inherit;
mask-composite: initial;
mask-composite: unset;

Initial valueadd
Applies toall elements; In SVG, it applies to container elements excluding the <defs> element and all graphics elements
Inheritedno
Mediavisual
Computed valueas specified
Animation typediscrete
Canonical orderper grammar

Syntax

One or more of the keyword values listed below, separated by commas.

Values

For the composition the current mask layer is referred to as source, while all layers below it are referred to as destination.

add
The source is placed over the destination.
subtract
The source is placed, where it falls outside of the destination.
intersect
The parts of source that overlap the destination, replace the destination.
exclude
The non-overlapping regions of source and destination are combined.

Formal syntax

<compositing-operator>#

where
<compositing-operator> = add | subtract | intersect | exclude

Example

CSS

#masked {
  width: 100px;
  height: 100px;
  background-color: #8cffa0;
  mask-image: url(https://mdn.mozillademos.org/files/12668/MDN.svg),
              url(https://mdn.mozillademos.org/files/12676/star.svg);
  mask-size: 100% 100%;
  mask-composite: add; /* Can be changed in the live sample */
}

Specifications

Specification Status Comment
CSS Masking Module Level 1
The definition of 'mask-composite' in that specification.
Candidate Recommendation Initial definition

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic support
Experimental
Chrome No support No
Notes
No support No
Notes
Notes See also -webkit-mask-composite for a similar non-standard property that uses different keywords.
Edge Full support 18Firefox Full support 53IE No support NoOpera No support No
Notes
No support No
Notes
Notes See also -webkit-mask-composite for a similar non-standard property that uses different keywords.
Safari No support No
Notes
No support No
Notes
Notes See also -webkit-mask-composite for a similar non-standard property that uses different keywords.
WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Full support 53Opera Android ? Safari iOS ? Samsung Internet Android No support No

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
See implementation notes.
See implementation notes.

Document Tags and Contributors

Last updated by: connorshea,