Skip to content

Levels

Node icon
Color

Adjusts the tonal range with input/output levels and gamma, per-channel or master.

The Levels node applied to a source image: original (left) and result (right).
Side-by-side comparison: the original image on the left and the same image after the Levels node on the right.

Levels is the basic tonal adjustment. A value at Input Black becomes Output Black, a value at Input White becomes Output White, and Gamma bends the midtones between them (below 1.0 darkens, above 1.0 brightens).

The Channel buttons pick what the rows adjust: Master moves Red, Green, and Blue together, and Red, Green, Blue, and Alpha each adjust one channel on top of Master. The histogram at the top shows every color channel and updates live as you drag. On a batch it draws the frame the Preview shows. A single-channel image shows Master only and stays single-channel. A dot on a channel button marks each channel with changes, so a value set on Red, Green, or Blue is never hidden behind Master.

The Levels panel after Contrast and Color on a faded scan: the Master, Red, Green and Blue buttons with a dot on each channel it changed, the rows it set, and the Auto section's Contrast, Contrast and Color, and Normalize buttons highlighted

The Auto section, below the channel rows, sets the levels from the image for you.

  • Contrast stretches the tone and keeps colors as they are. It sets Master’s Input Black and Input White.
  • Contrast and Color also removes a color cast: it sets the Red, Green, and Blue rows separately, with a gamma for each, so the near-neutral midtones land on neutral gray. It needs a color input, so it is unavailable on a mask. In a narrow panel its button reads Color.
  • Clip is how much of the darkest and lightest pixels the two Auto buttons ignore at each end, from 0 to 5% (0.1% to start with), so a few stray pixels, such as one hot highlight, cannot set the range. It is saved with the node and changes nothing until you press an Auto button.
  • Normalize maps the darkest value in the image to black and the brightest to white, with nothing ignored. It is the button earlier versions called Auto Levels, and it works as before. On a 32-bit (Float) image it reads the true minimum and maximum, so a depth pass or an HDR photo with values past 1.0 normalizes to 0 to 1 instead of clipping. It suits data where every value counts; for a photo, Auto is usually the better start.

Every Input, Gamma, and Output row on Master, Red, Green, and Blue resets before Auto writes, so a new result never stacks on an old one; the Alpha rows and Clamp Output stay as they are. The result is one undo step. When there is nothing to stretch, or Contrast and Color finds a color channel with almost no range (such as a picture with no blue in it), the panel says so and Auto changes nothing, or sets the contrast only.

For a correction that follows the image as it changes, use Auto Adjust, which runs the same methods live and gives the same values. To correct a cast by the color of the light, use White Balance.

In a 32-bit document, turn off Clamp Output to carry brighter-than-white values through. Dragging Output White above 1.0 turns it off for you.

A 32-bit input keeps its full range even in an 8-bit project: Input Black, Input White, and Output White accept values above 1, Auto and Normalize read the true range, and Clamp Output appears, just as in a 32-bit project.

Every channel has an eyedropper beside Input Black and Input White. Click one, then click the image in the Preview: the point is set to the exact value under the cursor, read from the image Levels receives before any display transform, so a scene-linear value or a depth distance of 7.2 comes back exactly. The cursor shows the value before you click, one pick is one undo step, and Esc or a right-click cancels.

  • Master takes the darkest of the pixel’s red, green, and blue for a black point and the brightest for a white point, the rule Normalize uses, so the pixel’s color is kept.
  • Alt-click on Master neutralizes: it sets the Red, Green, and Blue rows separately so the picked pixel lands exactly on black or white in every channel. On a white point, pick a surface that should be pure white; on a black point, one that should be pure black. Picking a gray would push it to white or black, not remove a cast; for that, use Contrast and Color.
  • Red, Green, Blue, or Alpha takes that channel, allowing for whatever Master already does. A mask input takes its one value.

While the pick is armed, the Preview shows the output wired into Levels, even a second pin such as 3D Render’s Depth, with the upstream node’s own handles hidden. On a 32-bit picture it also turns on the Preview’s Normalize view until the pick ends, so the whole range is visible; the pick still reads the real value.

When a pick sets nothing (a transparent pixel, a value that is not a finite number, a value outside the row’s range, or a Preview showing a picture of a different size), the cursor says why and the pick stays armed.

Input Black may sit above Input White. The mapping then runs backward, brightest input darkest, spread smoothly between the two points. Only when they are practically equal (less than 0.001 apart) does Levels switch to a hard cut.

Recipe: a height map from a depth pass.

  1. Wire 3D Render’s Depth output into Levels.
  2. Pick Input Black on the farthest part of the model (not the background) and Input White on the nearest.

Input White now holds the smaller value (a distance in a 32-bit document, an 8-bit code in an 8-bit one), which inverts the range so near is white and far is black; with Clamp Output on, the background beyond Input Black stays black. Auto and Normalize are the wrong tools here, because they map the background too and squeezes the model into a narrow band.

On a texture set or a library, a Map row at the top of the panel picks the one map Levels edits, such as the Roughness, and every other map passes through untouched. The histogram, Auto, and Normalize read the chosen map, and on a one-channel map such as the Roughness the Channel row reads Master. The Input Black and Input White eyedroppers pick from that map too, in the set the Preview shows, never another map. On a Base Color map, Auto also sets the Output rows so the result stays between 30 and 240 (of 255), the range of real surface colors. See Changing one map.

Pins

ImagePixels or Texture
InputRequired
MaskMask
InputOptional
ImagePixels or Texture
Output

Color

MapChoice
Default: Base Color
Texture set or library wired

Which map of the texture set this node edits. Every other map passes through unchanged. Shown while a texture set or a library is wired

  • Base ColorWork on the set's Base Color. The first map for the color and tone nodes.
  • NormalWork on the set's Normal. Offered on Normal Map (rescale its intensity) and the nodes that read a map into a selection; a color node never edits a direction.
  • RoughnessWork on the set's Roughness, a linear 0 to 1 map with one channel.
  • MetallicWork on the set's Metallic, a linear 0 to 1 map with one channel.
  • Ambient OcclusionWork on the set's Ambient Occlusion, a linear 0 to 1 map with one channel.
  • HeightWork on the set's Height, a linear map that can pass 0 and 1.
  • OpacityNever offered: the Opacity is the set's cutout, which Mask Apply edits.
  • EmissiveWork on the set's Emissive color.
ChannelChoice
Default: Master

Which channel to adjust

  • MasterAdjust all RGB channels together, affecting overall brightness and contrast.
  • RedAdjust only the red channel, affecting red/cyan color balance.
  • GreenAdjust only the green channel, affecting green/magenta color balance.
  • BlueAdjust only the blue channel, affecting blue/yellow color balance.
  • AlphaAdjust the alpha (transparency) channel, affecting opacity levels.
Master In BlackNumber
Default: 0.000 Range: 0.000–1.000

Master input shadow clipping point. Pixels at or below this become Output Black. The eyedropper picks it from the image

Master In WhiteNumber
Default: 1.000 Range: 0.000–1.000

Master input highlight clipping point. Pixels at or above this become Output White. The eyedropper picks it from the image

Master GammaNumber
Default: 1.00 Range: 0.01–9.99

Master midtone gamma

Master Out BlackNumber
Default: 0.000 Range: 0.000–1.000

Master output shadow level. The darkest value after adjustment

Master Out WhiteNumber
Default: 1.000 Range: 0.000–1.000

Master output highlight level. The brightest value after adjustment

Red In BlackNumber
Default: 0.000 Range: 0.000–1.000

Red input shadow clipping point. Pixels at or below this become Output Black. The eyedropper picks it from the image

Red In WhiteNumber
Default: 1.000 Range: 0.000–1.000

Red input highlight clipping point. Pixels at or above this become Output White. The eyedropper picks it from the image

Red GammaNumber
Default: 1.00 Range: 0.01–9.99

Red midtone gamma

Red Out BlackNumber
Default: 0.000 Range: 0.000–1.000

Red output shadow level. The darkest value after adjustment

Red Out WhiteNumber
Default: 1.000 Range: 0.000–1.000

Red output highlight level. The brightest value after adjustment

Green In BlackNumber
Default: 0.000 Range: 0.000–1.000

Green input shadow clipping point. Pixels at or below this become Output Black. The eyedropper picks it from the image

Green In WhiteNumber
Default: 1.000 Range: 0.000–1.000

Green input highlight clipping point. Pixels at or above this become Output White. The eyedropper picks it from the image

Green GammaNumber
Default: 1.00 Range: 0.01–9.99

Green midtone gamma

Green Out BlackNumber
Default: 0.000 Range: 0.000–1.000

Green output shadow level. The darkest value after adjustment

Green Out WhiteNumber
Default: 1.000 Range: 0.000–1.000

Green output highlight level. The brightest value after adjustment

Blue In BlackNumber
Default: 0.000 Range: 0.000–1.000

Blue input shadow clipping point. Pixels at or below this become Output Black. The eyedropper picks it from the image

Blue In WhiteNumber
Default: 1.000 Range: 0.000–1.000

Blue input highlight clipping point. Pixels at or above this become Output White. The eyedropper picks it from the image

Blue GammaNumber
Default: 1.00 Range: 0.01–9.99

Blue midtone gamma

Blue Out BlackNumber
Default: 0.000 Range: 0.000–1.000

Blue output shadow level. The darkest value after adjustment

Blue Out WhiteNumber
Default: 1.000 Range: 0.000–1.000

Blue output highlight level. The brightest value after adjustment

Alpha In BlackNumber
Default: 0.000 Range: 0.000–1.000

Alpha black-point input. The eyedropper picks it from the image

Alpha In WhiteNumber
Default: 1.000 Range: 0.000–1.000

Alpha white-point input. The eyedropper picks it from the image

Alpha GammaNumber
Default: 1.00 Range: 0.01–9.99

Alpha midtone gamma

Alpha Out BlackNumber
Default: 0.000 Range: 0.000–1.000

Alpha output black

Alpha Out WhiteNumber
Default: 1.000 Range: 0.000–1.000

Alpha output white

Clamp OutputToggle
Default: true

Limit the result to the Output Black to Output White range.

Turn it off to let values continue past the endpoints, preserving brighter-than-white detail through the adjustment.

Dragging Output White above 1.0 turns this off automatically.

Auto

ClipNumber
Default: 0.10 Range: 0.00–5.00

How much of the darkest and lightest pixels Auto ignores, so a few stray pixels cannot set the range

Display

Show HistogramToggle
Default: true

Render the histogram overlay above the sliders

Mask

Mask FromChoice
Default: Luminance
Color image connected to the mask input

How the connected color image is read as a mask

  • LuminanceRead the image's brightness as the mask. The default.
  • AlphaRead the image's transparency as the mask.
  • RedUse the red channel as the mask.
  • GreenUse the green channel as the mask.
  • BlueUse the blue channel as the mask.
Mask FitChoice
Default: None (native size)
Mask connected

How the mask is sized when it doesn't match the image

  • None (native size)Center the mask at its native size, with no resizing. Unmasked regions are unaffected.
  • StretchStretch the mask to exactly match the image dimensions. May distort the mask shape.
  • Fit (letterbox)Scale the mask to fit inside the image, preserving aspect ratio. Letterboxes where needed.
  • Fill (crop)Scale the mask to fill the image, preserving aspect ratio. Crops edges if aspect ratios differ.
  • Drag Input Black right to clip dark noise; drag Input White left to boost dim highlights. Or pick both points from the image with the eyedroppers.
  • Raise Output Black above 0 to lift the shadows for a faded, matte look.
  • Adjust single channels to correct a cast: lowering Input White on Red warms an image, and on Blue cools it.
  • Connect a mask input to apply the tonal adjustment to only part of the image.