Vibrance vs saturation: one has a brake
Vibrance and saturation appear to do the same job. Move either slider to the right and a photograph becomes more colourful. The difference only becomes obvious where a colour was already strong: saturation keeps pushing, while vibrance begins to back away.
That brake is why editors commonly recommend vibrance for portraits. Adobe, for example, describes it as a useful first adjustment when a photograph contains a person because it helps keep skin colours from becoming oversaturated. The broad advice is sound, but there is no universal vibrance formula. Here is exactly what Halation does, including the limit of calling it skin-safe.
Saturation moves every colour equally
Halation first calculates luminance from the red, green and blue channels. That gives each pixel a grey point with the same perceived brightness. Saturation then moves the original colour away from or toward that grey by one fixed multiplier. At +20 every pixel's colour distance becomes 1.20 times what it was; at −20 it becomes 0.80 times what it was.
The operation does not ask whether a pixel is pale concrete, a blue sky or a warm face. Equal treatment is useful when the whole image is too weak or too loud. It is also the failure mode: a colour already close to the edge of the available range receives the same push as a muted one and reaches clipping first.
Vibrance measures before it pushes
Vibrance starts from the same grey point, but its multiplier changes per pixel. The shader measures current saturation as the gap between the largest and smallest RGB channel. A neutral pixel has a gap of zero; a fully saturated primary has a gap of one. The available boost is multiplied by one minus that gap.
With Vibrance at +14, a nearly neutral pixel can receive a multiplier as high as 1.14, although true grey still has no colour distance to amplify. A pixel at 50% saturation has only half of the boost available. At full saturation the added boost is zero. Saturation at +14, by comparison, applies the full 1.14 multiplier in all three cases.
The second brake is not a skin detector
Halation applies one more reduction. It measures channel separation as the absolute red–green gap plus half the green–blue gap. As that value rises from 0.02 to 0.42, a smooth curve reduces the remaining vibrance boost by as much as 55%. A pixel at 50% saturation with a large channel separation therefore gets only 3.15% extra colour from a +14 setting, not 14%.
The variable in the shader is called skin, but the maths does not know
skin hue, faces or people. It protects every colour with widely separated channels:
orange skin, a red sign and a blue LED all receive a brake. Skin stays safer as a
consequence of protecting colours that are already strong, not because the editor
has identified a person.
This is simpler than the targeted protection described in Adobe's portrait guidance. It is also predictable, local and cheap enough to run on every pixel in a browser. For a global grading control, that is the useful trade.
Why the presets use both sliders
Vibrance is not a replacement for saturation. The presets pair them to separate the overall colour level from the treatment of muted regions.
- Cinematic: vibrance +14, saturation −7. The frame becomes a little less colourful overall, then restrained colour is returned preferentially to flatter areas. Warm skin is less likely to run orange.
- Komorebi: vibrance +8, saturation −16. The strong negative saturation creates the quiet palette; a small vibrance lift stops pale sky, concrete and foliage from becoming lifeless. This pairing also appears in the Komorebi breakdown.
- Golden: vibrance +16, saturation +4. Both controls rise because the look is meant to feel rich, but most of the increase comes from the control that slows down near already-vivid colour.
Which control to move first
For a natural portrait, set saturation slightly below zero, then raise vibrance until the background colour returns. Watch cheeks, lips and warm highlights rather than the sky. This is the same defence used by the Cinematic teal-and-orange grade, without asking one global slider to recognise a face.
For a landscape with no people, a small positive value on both controls is often enough: saturation establishes the overall level and vibrance helps muted weather, haze and distant foliage. If the source is already oversaturated, reduce saturation first and leave vibrance near zero until the loudest colours are back inside range.
Negative vibrance is a specialised choice. Because the weakest colours receive the largest reduction, it erases subtle colour before vivid colour. If the goal is to mute the whole image, negative saturation is usually the more legible control.
When a global brake is not enough
Vibrance can keep a good skin tone from being pushed too far. It cannot repair skin that began too red, too yellow or contaminated by mixed light, because it never selects that hue independently. That job needs a targeted HSL adjustment, a colour range or a mask. Halation deliberately stops at the global version.
The practical rule is short: use saturation to set the colour level of the frame; use vibrance to decide how much the quieter colours may catch up. One is a volume control. The other is the same control with a brake.