Why does white still linger after you remove the background?
Because a pixel that is part subject and part backdrop is not a backdrop pixel, and a colour key only removes pixels close to the key colour. Take a dark hair strand covering 60 per cent of a pixel over a white backdrop: the mixture comes out at (173,172,172), which sits 0.561 away from white in the keyer's own distance measure, far outside the 0.259 tolerance. The keyer leaves it alone entirely — alpha 255 out of 255, fully opaque, 254 code levels brighter than the (29,25,23) it should be. There is no transparency left for a new background to work through, so the white stays put no matter what you drop behind it.
The pixel was never white
A backdrop does two different things to a frame. Where the subject is solid, it sits behind and gets removed cleanly. Where the subject is thin — hair, chiffon, a frosted bottle, the furred edge of a knit — the backdrop is not behind anything, it is inside the pixel. The camera integrates both and writes one number.
What that mixture looks like depends entirely on the backdrop's colour. Put the same dark hair strand over a lit #00B140 screen and 40 per cent of the backdrop adds (−12, +79, +12) to the three channels: one channel takes the hit and the other two barely move. Put it over white and it adds (+125, +130, +134). All three, equally.
That difference is the whole problem. A green screen contaminates a hue. White contaminates brightness, and brightness is carried by every channel at once, so there is no single channel to attack.
Why the keyer leaves it alone
A colour key is a distance test. Ours measures the normalised distance from each pixel to the key colour and keeps a narrow window: anything closer than 0.161 is treated as pure background, anything further than 0.259 is treated as pure subject, and the smooth ramp between them is what makes a soft edge. That window is the entire mechanism.
The hair pixel above, mixed 60/40 with white, lands 0.561 away from white. It is not near the edge of the window, it is more than twice as far out as the window's outer limit. The keyer does not partially remove it or soften it — it does nothing at all. The pixel comes out with alpha 255 and the colour the camera saw, which is (173,172,172) where the hair plus transparency should have been (29,25,23) on black.
This is why the usual instinct fails. Raising tolerance to reach those pixels is not a fix, it is a different failure: widen the window far enough to catch a mixture at 0.561 and you have also caught the subject itself.
Every despill control is blind to it
There are two controls in this tool for pulling leftover backdrop colour out of a matte, and both are written the same way: they act on the green channel, and only when green is the largest of the three. That condition is exactly what makes them work on a green screen and exactly what stops them working on white.
Measured on a denim pixel at 60 per cent coverage: against a green backdrop, moving spill and despill from zero to maximum shifts the stored colour by 46 code levels. Against a white backdrop, the same sweep moves it by 0. Not 0 per channel — a total of 0 across all three. The condition green greater than max of red and blue is simply false for a pixel that white raised evenly.
So there is no slider here that touches this. Anything that does work has to operate on luminance rather than on one channel, which is a different operation entirely.
Why you did not catch it before shipping
The leftover is in the colour, not in the alpha, and that gives it a signature you can test for. Composite the cutout on black and on white and compare: a pixel that still has transparency moves, a pixel that does not stays put. For that hair pixel the black composite and the white composite are identical — (173,172,172) both times, a gap of zero.
The reason it passes review anyway is that the error is smallest on the background people check on. On white, that pixel is 78 code levels from correct. On mid grey, 166. On black, 254 — three and a quarter times worse. If the cutout was ever looked at on a white or light artboard, it looked nearly fine, and every darker placement since has shown the haze.
It scales with how bright the backdrop was
The amount that survives is just how much light the backdrop was contributing, so the obvious variable is the backdrop's own level. Same hair strand, same 60 per cent coverage, keyed against each backdrop in turn, measured as distance from correct on black: white 254, light grey 230 gives 225, grey 200 gives 191, grey 160 gives 146, mid grey 128 gives 110, and black gives 11.
Black is not a trick of the measurement. With a black backdrop there is nothing for the semi-transparent edge to transmit, so contamination is zero by construction and the residual 11 is ordinary quantisation in the alpha. This is the single largest lever available at the shooting end: for anything translucent, a dark backdrop leaves 11 code levels of error where a white one leaves 254.
There is a limit to it. Push the backdrop dark enough and it starts to fall inside the keyer's window along with the subject, at which point thin parts get deleted rather than cleaned — at grey 60 in the same series the pixel is removed outright. The usable range is a dark backdrop that is still well separated in tone from the subject.
When it stops being a flaw and becomes impossible
The worst case is a light subject on a light backdrop, and it is worth stating plainly because it is not a matter of tuning. A white shirt at (230,230,230) sits 0.170 from a white key — inside the 0.161 to 0.259 window. The keyer gives it alpha 6 out of 255. It does not leave a fringe around the shirt, it removes the shirt.
Nothing about that is fixable after the fact. The information is gone at capture: a near-white subject against a near-white backdrop produces pixels that are genuinely ambiguous, and no amount of tolerance work recovers which part of a pixel was cloth.
What actually removes it
Mathematically the leftover is removable, and it is worth knowing what the removal costs. Un-mixing means subtracting the backdrop's contribution in linear light and dividing by the true coverage: for that hair pixel it takes the stored colour from (173,172,172) to exactly (48,42,38), and the error on black from 254 to 0.
It needs two things a colour key does not give you accurately: the precise backdrop colour, and the true coverage of every edge pixel. The keyer's alpha is an estimate derived from a distance, not a measurement of how much of the pixel the subject occupied, which is why the un-mixing only works here because we knew both numbers going in.
In practice that leaves three options. Shoot translucent subjects against a dark backdrop and the problem largely disappears before it exists. Shoot them against a chroma backdrop instead, because a hue you can isolate is a hue you can subtract — that is the entire reason green screens displaced white ones. Or, when the shot already exists and the subject is small, treat it as a masking job rather than a keying job: the edge has to be rebuilt by hand, because the colour information it needed was never recorded.
Related questions
How can I tell leftover backdrop from a transparency problem?
Composite the cutout on black and on white and look for pixels that do not move. Transparency always changes with the background; contamination baked into the colour does not. In the measurements above, a contaminated hair pixel reads (173,172,172) on both — a gap of zero — while its error against the correct value is 78 on white and 254 on black.
Why do the despill sliders do nothing on a white backdrop?
Both controls act on the green channel and only fire when green is greater than the larger of red and blue. A white backdrop raises all three channels equally, so that condition is false. Measured: the same slider sweep moves a green-contaminated pixel by 46 code levels and a white-contaminated one by 0.
Is a white backdrop always the wrong choice?
For a fully opaque subject it is fine, because there is no transmission to contaminate anything. It goes wrong as soon as the subject has thin or translucent parts — hair, fabric, frosted packaging — and it becomes unrecoverable when the subject is itself light: a white shirt sits 0.170 from a white key and the keyer gives it alpha 6 out of 255.
Can I fix it by increasing the tolerance?
No. The leftover mixture sits 0.561 away from the key colour, while the tolerance window ends at 0.259. Widening the window far enough to reach it also reaches the subject, so you trade a pale haze for holes. The two things that do work are changing the backdrop before the shot, or un-mixing afterwards, which needs the backdrop colour and the true per-pixel coverage.