CSS background-blend-mode Property

Beginner
8 min read
Updated: Oct 2026
3 examples
Live preview

Definition and Usage

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.

CSS Syntax

syntax.css
background-blend-mode: normal | multiply | screen | overlay | darken | lighten | color-dodge | color-burn | hard-light | soft-light | difference | exclusion | hue | saturation | color | luminosity | initial | inherit;

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.

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.

ValueDescriptionTry it
normalDefault. An opaque top layer covers what is below. Transparent pixels still show throughTry it
multiplyDarkens. White leaves the layer below unchanged. Black stays blackTry it
screenLightens. Black leaves the layer below unchanged. White stays whiteTry it
overlayMore contrast. Dark parts of the bottom layer darken, light parts lightenTry it
darkenKeeps the darker channel from the top layer or the bottom layerTry it
lightenKeeps the lighter channel from the top layer or the bottom layerTry it
color-dodgeBrightens the bottom layer to reflect the top. Light colors can go toward whiteTry it
color-burnDarkens the bottom layer to reflect the top. Dark colors can go toward blackTry it
hard-lightLike overlay, but the top layer decides which parts darken or lightenTry it
soft-lightA gentler hard-light. The bottom layer shifts without a harsh jumpTry it
differenceSubtracts the colors. Similar colors turn black. Distant colors stay brightTry it
exclusionA softer difference. Similar colors turn gray instead of blackTry it
hueTakes the top layer's hue. Keeps the bottom layer's saturation and lightnessTry it
saturationTakes the top layer's saturation. Keeps the bottom layer's hue and lightnessTry it
colorTints with the top layer's hue and saturation. Keeps the bottom layer's lightnessTry it
luminosityTakes the top layer's lightness. Keeps the bottom layer's hue and saturationTry it
initialSets this property to its default value, normalTry it
inheritCopies the blend mode from the parent. The layers themselves are not inheritedTry it

How to Use background-blend-mode

Stack two layers on one element, then name how the top layer mixes with what is under it.

  1. Set a background-color and a background-image, or two images. A gradient counts as an image.
  2. Write the blend modes in that same image order. The first keyword blends the top image.
  3. Leave the color as the bottom layer. It never gets a keyword of its own.
  4. Set the property on that element. It is not inherited, and a transition will not fade from one mode to another.
PieceRequired?Role
Two layersYesA color plus an image, or two images. One layer has nothing to mix
background-imageYesThe first image is painted on top and uses the first blend mode
background-colorOftenThe bottom layer. Useful as the tint under a photo or gradient
Keyword listYesOne mode for every image, or a comma list. A short list repeats

Live Preview

Blue underneath, yellow fading to red on top. Change background-blend-mode and watch those two layers mix.

The gradient is opaque, so normal hides the blue. The other modes mix both layers.

Layers

background-blend-mode: multiply

CSS Examples

Each snippet sets only the layers and the blend mode. Height is there so the box is visible. Use Try It Yourself for a live editor.

Example 1 — Multiply a Color and a Gradient

Darken a blue background with a yellow-to-red gradient.

CSS
<style>
  div {
    height: 140px;
    background-color: #2563eb;
    background-image: linear-gradient(#facc15, #ef4444);
    background-blend-mode: multiply;
  }
</style>

<div></div>
Try It Yourself

How It Works

  1. Paint the bottom layer. background-color: #2563eb is solid blue. The color does not get a blend mode.
  2. Paint the top layer. linear-gradient(#facc15, #ef4444) is an image: yellow at the top, red at the bottom.
  3. Multiply the pixels. background-blend-mode: multiply multiplies each gradient pixel by the blue under it. The bar gets darker.
  4. Stay inside the box. The blend does not mix with the page behind this element. That job belongs to mix-blend-mode.

Example 2 — Screen, the Light Blend

Same two layers. Only the keyword changes, and the bar gets lighter.

CSS
<style>
  div {
    height: 140px;
    background-color: #2563eb;
    background-image: linear-gradient(#facc15, #ef4444);
    background-blend-mode: screen;
  }
</style>

<div></div>
Try It Yourself

How It Works

  1. 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.
  2. Screen lightens. Black would leave the blue alone. Yellow and red are light, so they brighten the blue.
  3. Both layers stay visible. The gradient is opaque, but screen still mixes it with the color. normal would hide the blue.
  4. 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.

CSS
<style>
  div {
    height: 140px;
    background-color: #0f172a;
    background-image:
      linear-gradient(#facc15, transparent),
      linear-gradient(#38bdf8, #2563eb);
    background-blend-mode: multiply, screen;
  }
</style>

<div></div>
Try It Yourself

How It Works

  1. The color is the bottom. #0f172a is a dark navy. It has no blend mode of its own.
  2. 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.
  3. 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.
  4. 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.

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 Chrome 35+
Full support
Mozilla Firefox 30+
Full support
Apple Safari 8+ · macOS & iOS
Full support
Microsoft Edge 79+ · Chromium
Full support
Opera 22+
Full support
Samsung Internet 3+
Full support
Internet Explorer No support
Not supported
background-blend-mode Widely 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.

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.

Next: background-clip

Learn which box the background is painted into: border, padding, or content.

background-clip tutorial →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

5 people found this page helpful