GIMP Layer Blending Modes - Complete Reference
All 38 blending modes in GIMP 3.x explained with the underlying math concept, typical uses, and the equivalent mode name in Adobe Photoshop.
Visual Blend Mode Grid
Live CSS mix-blend-mode demos - Base layer is the site's orange→blue gradient; the overlay shape shows the blend result.
Modes marked "CSS approx." have no direct mix-blend-mode equivalent - The closest CSS mode is shown. Demos use base gradient + a per-mode overlay shape.
How Blend Modes Work
Every blend mode is a mathematical formula that combines two pixel values: the base layer (the composite of everything below the current layer, denoted B) and the blend layer (the current layer itself, denoted A). The formula produces a result value R for every corresponding pixel.
All values are treated as floating-point numbers in the range 0.0 (black) to 1.0 (white). GIMP 3.x performs blend mode calculations in linear light by default, which differs from the legacy gamma-encoded calculations used in older GIMP versions and some Photoshop modes. To match Photoshop exactly, check the layer's blend space setting in Layer → Blend Space.
Most Frequently Used Blend Modes in Design Workflows
Normal Group
The Normal group contains modes that stack layers without any mathematical interaction between pixel values. Opacity and dissolve are the only controls. Understanding how layers work is covered in the layers guide.
Normal
The default blend mode. The blend layer simply covers the base layer. Reducing the layer's opacity makes it partially transparent, blending proportionally with the base. Formula: R = A (at full opacity).
Dissolve
Similar to Normal but instead of smoothly fading the layer, it randomly drops individual pixels based on the opacity value. At 50% opacity, roughly half the pixels are shown and half are discarded - Producing a noise/grain pattern. Useful for textured fades and painterly edges.
Lighten Group
Lighten group modes always produce a result that is equal to or lighter than the base layer. Black on the blend layer is neutral (has no effect) in all modes in this group.
Lighten Only
R = max(B, A)
Keeps whichever pixel is brighter. No darkening ever occurs. Clean and useful for combining two exposures and keeping the brightest parts of each.
Screen
R = 1 - (1-B)(1-A)
The inverse of Multiply. Always lightens. Two screens of a colour produce near-white. Black areas of the blend layer disappear entirely. Ideal for adding glows, light leaks, and fire effects on a dark background.
Dodge (Color Dodge)
R = B / (1 - A)
Brightens the base layer based on the blend layer. Creates strong, saturated highlights. Extreme values can blow out to white quickly. Used for adding intense specular highlights.
Addition (Linear Dodge)
R = min(B + A, 1.0)
Adds pixel values together, clamping at white. Brighter and more aggressive than Screen. Excellent for glows, electricity effects, and additive light blending. Black is neutral.
Gamma Lighten
Gamma-space version of Lighten
Applies the Lighten Only logic in gamma-encoded space. Produces slightly different results to linear Lighten Only when working with photographic images.
Darken Group
Darken group modes always produce a result that is equal to or darker than the base layer. White on the blend layer is neutral (has no effect) in all modes in this group. Multiply is widely used in layer masking workflows to build up shadow areas non-destructively.
Darken Only
R = min(B, A)
Keeps whichever pixel is darker. No lightening ever occurs. Useful for replacing bright areas in the base with darker values from the blend layer.
Multiply
R = B * A
The most widely used darkening mode. Multiplying any colour by black gives black; by white gives the original. Behaves like stacking transparent colour gels - Each one darkens the result. Perfect for shadows, tinting, and darkening without clipping.
Burn (Color Burn)
R = 1 - (1-B)/A
Darkens the base and increases saturation at the same time. Creates deep, rich shadows with strong colour. Inverse of Color Dodge. Extreme values produce crushed blacks.
Linear Burn
R = max(B + A - 1, 0)
Darkens by adding the blend layer value and subtracting 1. Produces darker results than Multiply with less saturation increase than Burn. Known as "Burn" in some older Photoshop versions.
Gamma Darken
Gamma-space version of Darken
Applies Darken Only logic in gamma-encoded space. Use this to match legacy GIMP 2.10 Darken Only results.
Contrast Group
Contrast group modes increase contrast in the base layer. 50% grey on the blend layer is neutral - It has no effect. Values above 50% grey lighten; values below 50% grey darken.
Overlay
Multiply if B<0.5, Screen if B>=0.5
Combines Multiply and Screen depending on the base layer brightness. Dark areas of the base get darker; light areas get lighter. 50% grey on the blend layer disappears. The go-to mode for adding contrast and punch to images.
Soft Light
Gentle version of Overlay
A gentler, lower-contrast version of Overlay. Less likely to blow out highlights or crush shadows. Excellent for subtle colour grading and adding a warm or cool tone to a photo.
Hard Light
Screen if A>0.5, Multiply if A<=0.5
Like Overlay but driven by the blend layer brightness rather than the base. Light areas in the blend layer lighten the base; dark areas darken it. The same formula as Overlay with A and B swapped.
Vivid Light
Burn if A<0.5, Dodge if A>=0.5
Combines Color Burn and Color Dodge. More extreme than Hard Light - Produces highly saturated, contrasty results. Used for high-contrast artistic effects.
Pin Light
Darken if A<0.5, Lighten if A>=0.5
Combines Darken Only and Lighten Only based on the blend layer value. Produces unusual, irregular contrast patterns. Mainly useful for creative texture overlays.
Linear Light
R = B + 2A - 1
A linear version of Hard Light. Applies linear burn in dark areas and linear dodge in light areas. Very aggressive - Produces the most extreme contrast of all the contrast modes.
Hard Mix
R = 1 if A+B>=1, else 0
Adds the blend and base values together. If the sum is 1.0 or above, the result is white; if below 1.0, the result is black. Produces a pure posterised look with only fully saturated colours. Used for dramatic graphic effects.
Inversion Group
Inversion group modes compare the blend and base layers using subtraction. Black on the blend layer is neutral in most of these modes. They are frequently used for finding differences between two images and for grain/noise operations. Grain Extract and Grain Merge form the core of the frequency separation technique used in portrait retouching.
Difference
R = |B - A|
Subtracts one pixel value from the other, taking the absolute value so the result is always positive. Black on the blend layer is neutral (no change). White inverts the base. Identical pixels produce black - Very useful for aligning two versions of an image or detecting changes.
Exclusion
R = A + B - 2AB
Similar to Difference but with lower contrast and less extreme results. Mid-grey on the blend layer produces a 50% mix, while black and white behave the same as Difference.
Subtract
R = max(B - A, 0)
Subtracts the blend layer from the base. Values that go below 0 are clamped to black. Darkens the base; white in the blend layer produces black. Used for removing a known background element from an image.
Grain Extract
R = clamp(B - A + 0.5, 0, 1)
Subtracts the blend from the base and adds 0.5 to keep the result centred. Used to extract grain/noise information from an image. Part of the classic GIMP grain-removal workflow.
Grain Merge
R = clamp(B + A - 0.5, 0, 1)
The inverse of Grain Extract. Adds the blend to the base and subtracts 0.5. Used to re-apply previously extracted grain to an image. Together with Grain Extract, it forms the basis of GIMP noise reduction techniques.
Divide
R = min(B / A, 1.0)
Divides the base pixel by the blend pixel. Lightens the base; dark blend values produce extreme brightening. Useful for colour-calibration work - Dividing by a reference colour card layer to normalise colour casts.
Component Group
Component group modes blend only one component of the colour model - Hue, saturation, chroma, or luminosity - While taking the remaining components from the base layer. They are essential for non-destructive colour grading.
Hue
Takes the hue of the blend layer and combines it with the saturation and luminosity of the base. Useful for shifting the colour of an object without changing its brightness or intensity.
Saturation
Takes the saturation of the blend layer and combines it with the hue and luminosity of the base. A fully desaturated grey layer in Saturation mode desaturates the base layer.
Color
Takes both the hue and saturation from the blend layer, keeping the luminosity from the base. This is the standard mode for colourising greyscale photos - Paint a colour over a black-and-white layer set to Color mode to tint without affecting brightness.
Luminosity
Takes the luminosity from the blend layer and keeps the hue and saturation from the base. The inverse of Color mode. Useful for applying a sharpened or contrast-boosted version of an image as a luminosity pass without introducing colour shifts.
LCh Hue
Hue blend in perceptually uniform LCh (Lightness-Chroma-Hue) colour space. More perceptually accurate than the HSL Hue mode - Shifts appear equal regardless of the original colour.
LCh Chroma
Chroma (saturation) blend in LCh space. More perceptually accurate than HSL Saturation. Use for colour-grading adjustments that need to be perceptually consistent across different base colours.
LCh Color
Blends both hue and chroma in LCh space while preserving luminosity. More accurate than the legacy Color mode for colourising work because it avoids the hue shifts that can occur in HSL space.
LCh Lightness
Lightness blend in LCh space. Equivalent to Luminosity but in perceptually uniform space. Produces the most natural-looking luminosity blends for photographic work.
Full Reference Table - All 38 Modes
| Mode | Group | Formula (simplified) | Typical Use | Photoshop Name |
|---|---|---|---|---|
| Normal | Normal | R = A | Standard stacking | Normal |
| Dissolve | Normal | Random pixel drop | Textured fades | Dissolve |
| Lighten Only | Lighten | R = max(B, A) | Keep brightest pixels | Lighten |
| Screen | Lighten | R = 1-(1-B)(1-A) | Glows, light effects | Screen |
| Dodge (Color Dodge) | Lighten | R = B/(1-A) | Specular highlights | Color Dodge |
| Addition (Linear Dodge) | Lighten | R = min(B+A, 1) | Additive light | Linear Dodge (Add) |
| Gamma Lighten | Lighten | Gamma-space lighten | Legacy compatibility | (no direct equivalent) |
| Darken Only | Darken | R = min(B, A) | Keep darkest pixels | Darken |
| Multiply | Darken | R = B * A | Shadows, overlays | Multiply |
| Burn (Color Burn) | Darken | R = 1-(1-B)/A | Deep saturated shadows | Color Burn |
| Linear Burn | Darken | R = max(B+A-1, 0) | Dark toning | Linear Burn |
| Gamma Darken | Darken | Gamma-space darken | Legacy compatibility | (no direct equivalent) |
| Overlay | Contrast | Multiply/Screen by B | Contrast and punch | Overlay |
| Soft Light | Contrast | Gentle Overlay variant | Subtle colour grading | Soft Light |
| Hard Light | Contrast | Multiply/Screen by A | Texture overlays | Hard Light |
| Vivid Light | Contrast | Burn/Dodge by A | Saturated contrast | Vivid Light |
| Pin Light | Contrast | Darken/Lighten by A | Creative textures | Pin Light |
| Linear Light | Contrast | R = B+2A-1 | Extreme contrast | Linear Light |
| Hard Mix | Contrast | R = 1 if A+B>=1 else 0 | Posterise effect | Hard Mix |
| Difference | Inversion | R = |B - A| | Layer comparison | Difference |
| Exclusion | Inversion | R = A+B-2AB | Soft difference | Exclusion |
| Subtract | Inversion | R = max(B-A, 0) | Remove background | Subtract |
| Grain Extract | Inversion | R = clamp(B-A+0.5) | Extract film grain | Subtract (variant) |
| Grain Merge | Inversion | R = clamp(B+A-0.5) | Re-apply grain | Add (variant) |
| Divide | Inversion | R = min(B/A, 1) | Colour calibration | Divide |
| Hue | Component | Hue from A, S+L from B | Colour shift | Hue |
| Saturation | Component | Sat from A, H+L from B | Desaturate/Intensify | Saturation |
| Color | Component | H+S from A, L from B | Colourising | Color |
| Luminosity | Component | L from A, H+S from B | Luminosity pass | Luminosity |
| LCh Hue | Component (LCh) | Hue in LCh space | Accurate hue shift | (no direct equivalent) |
| LCh Chroma | Component (LCh) | Chroma in LCh space | Accurate saturation | (no direct equivalent) |
| LCh Color | Component (LCh) | H+C in LCh space | Accurate colourising | (no direct equivalent) |
| LCh Lightness | Component (LCh) | Lightness in LCh space | Accurate luminosity | (no direct equivalent) |
| Behind | Special | Paint behind existing pixels | Brush tool only | (no direct equivalent) |
| Erase | Special | Erase alpha with brush | Brush tool only | (no direct equivalent) |
| Merge | Special | Merge with alpha compositing | Internal use | (no direct equivalent) |
| Split | Special | Split alpha from colour | Internal use | (no direct equivalent) |
| Pass Through | Special | Group passes blend to parent stack | Layer groups | Pass Through |
Most-Used Modes Quick Reference
Blend Mode Tricks
- Open or paint a lens flare image on a black background
- Set that layer to Screen mode
- The black background disappears entirely, leaving only the glow
- Adjust opacity to control intensity (30-70% is usually ideal)
- Duplicate the layer and blur it with Filters → Blur → Gaussian Blur for a softer halo
- Add a new layer above your image and set it to Multiply
- Paint dark brown or dark blue onto the layer with a large soft brush at 20-30% opacity
- Build up shadow areas by painting over them repeatedly
- White on a Multiply layer has no effect - Use this to protect highlights while painting shadows
- Reduce the overall layer opacity to fine-tune shadow depth non-destructively
- Find or create a texture image (concrete, paper, noise, grunge)
- Paste it as a new layer above your subject
- Set the texture layer to Overlay or Soft Light
- 50% grey areas in the texture become invisible - Only dark and light extremes affect the base
- Desaturate the texture layer (Colors → Desaturate) to prevent unwanted colour shift
- Adjust opacity to control the texture intensity