The background-blend-mode property mixes an element's background images with each other and with its background-color. The first image in background-image is the top layer. The color sits at the bottom and does not take a blend mode of its own.
You need at least two layers, or every keyword looks the same. A gradient such as linear-gradient() counts as an image. The blend stays inside this element. To mix the whole element with the page behind it, use mix-blend-mode.
Standard-track.
Not deprecated. The 16 blend modes below are widely supported. plus-lighter is in the Level 2 syntax but is experimental on this property: only Firefox preview implements it, so skip it on a normal page.
One keyword applies to every image. A comma-separated list follows background-image order: the first mode blends the top image. A shorter list repeats. Extra modes are dropped.
Values
Property Values
Each editor below uses the same two layers: blue underneath, a yellow-to-red gradient on top. Compare the keyword, not the layers.
Value
Description
Try it
normal
Default. An opaque top layer covers what is below. Transparent pixels still show through
Keep the same layers. Blue is still the color. The yellow-to-red gradient is still the image. Only the mode changes, so you can compare it with Example 1.
Screen lightens. Black would leave the blue alone. Yellow and red are light, so they brighten the blue.
Both layers stay visible. The gradient is opaque, but screen still mixes it with the color. normal would hide the blue.
Swap the keyword to check. In the editor, change screen to normal. The blue disappears and you see only the gradient.
Example 3 — One Mode per Image
Screen a blue gradient onto a dark color, then multiply a fading yellow on top.
The color is the bottom.#0f172a is a dark navy. It has no blend mode of its own.
The second image is next.linear-gradient(#38bdf8, #2563eb) sits above the color. The second keyword, screen, blends that blue gradient with the navy and lightens it.
The first image is on top.linear-gradient(#facc15, transparent) is yellow fading out. The first keyword, multiply, blends that yellow with everything already painted.
Transparent pixels drop out. Where the yellow is transparent, multiply adds nothing, so the screened blue shows through. The lists match: first keyword, top image.
Edge Cases & Pitfalls
If the colors do not mix, one of these is usually why.
layers
One layer cannot blend
A background-color alone has nothing above it. Add a background-image, or a second image. A gradient counts.
normal
normal hides an opaque top layer
The default stacks layers. An opaque gradient covers the color, so the mode looks broken. Use multiply or screen, or leave transparent pixels in the top image.
order
The first image uses the first mode
In background-image, the first image is on top. A short mode list repeats to fill the images. Extra modes are ignored. The color is not an item in that list.
mix
mix-blend-mode is a different job
mix-blend-mode blends the element with the page behind it. isolation groups that kind of blend. Neither changes background-blend-mode.
shorthand
The background shorthand drops the image
background resets the image and the color. It does not reset this property, but with the image gone there is nothing left to blend.
Compatibility
Browser Support
background-blend-mode is a browser painting property. Node.js, Deno, and Bun do not paint it. The versions below are for the 16 classic blend modes.
✓ Baseline · Widely available since 2020
background-blend-mode
Chrome 35+, Firefox 30+, Safari 8+, Opera 22+, Samsung Internet 3+. Edge added it at 79 (January 2020). Internet Explorer and Edge 12–18 do not blend.
96%Classic blend modes
Google Chrome35+
Full support
Mozilla Firefox30+
Full support
Apple Safari8+ · macOS & iOS
Full support
Microsoft Edge79+ · Chromium
Full support
Opera22+
Full support
Samsung Internet3+
Full support
Internet ExplorerNo support
Not supported
background-blend-modeWidely supported
Bottom line: Safe for the 16 classic modes in current browsers. Internet Explorer and EdgeHTML (Edge 12–18) stack the layers with no blend. plus-lighter is experimental: Firefox preview only, and absent in Chrome and Safari.
Remember
Key Takeaways
Role: mix background images with each other and with the background color. The first image is on top.
Two layers: a color alone, or normal plus an opaque image, shows no mix. Start with multiply or screen.
Not mix-blend-mode: this property never blends the element with the page behind it.
Initial value:normal. It is not inherited and not animatable.
One line:background-blend-mode mixes this element's own background layers, top image first, and leaves the rest of the page alone.
Frequently Asked Questions
It mixes an element's background images with each other and with its background color. The first image is the top layer. The color sits at the bottom. Text and children are not blended.
A color by itself has nothing to mix with. With the default normal, an opaque gradient or image also covers the color completely, so you only see the top layer. Add a second layer and try multiply or screen.
background-blend-mode blends only that element's own background layers. mix-blend-mode blends the whole element, including its text, with whatever is painted behind it on the page.
No. The color is the bottom layer. Each mode in the list belongs to a background image, in the same order. One mode blends that image with the color. Two images need two modes if you want them to differ.
A shorter mode list repeats until every image has a mode. Extra modes are dropped. The background color is not counted in that list.
The 16 classic blend modes work in Chrome 35+, Firefox 30+, Safari 8+, Edge 79+, Opera 22+, and Samsung Internet 3+. Internet Explorer and Edge 12 through 18 do not blend layers. It is a browser CSS property, not a Node.js feature. plus-lighter is experimental and only in Firefox preview.