MDN’s new design is in Beta! A sneak peek:

This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.

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
Computed valueas specified
Animation typediscrete
Canonical orderthe unique non-ambiguous order defined by the formal grammar


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


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

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

Formal syntax


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



#masked {
  width: 100px;
  height: 100px;
  background-color: #8cffa0;
  mask-image: url(,
  mask-size: 100% 100%;
  mask-composite: add; /* Can be changed in the live sample */


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

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support No support[1] 53.0 (53.0) No support No support[1] No support[1]
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support ? 53.0 (53.0) No support ? ?

[1] WebKit and Blink have a -webkit-mask-composite property, which has different keywords.

Document Tags and Contributors

 Contributors to this page: wbamberg, Sebastianz, chrisdavidmills, teoli, Siilwyn
 Last updated by: wbamberg,