Why hair defeats normal selections

A strand of hair is thinner than a pixel, so its edge pixels are a blend of hair and background. No hard selection can separate them β€” you need a mask with genuine grey values, and you need to deal with the background colour those pixels have absorbed.

The channel method

This still beats the automated tools on difficult images:

  • Open the Channels panel and click through red, green and blue. Pick the one with the greatest contrast between hair and background.
  • Duplicate that channel. Never work on the original.
  • Apply Levels or Curves to the copy, pushing it towards pure black and white. The goal is hair solid black, background solid white β€” the fine strands will hold their grey.
  • Paint the interior of the subject solid black with a hard brush, and the far background solid white.
  • Ctrl/Cmd-click the channel thumbnail to load it as a selection, then invert if needed.

Kill the fringe

Cut a brunette out of a bright green background and every edge pixel carries green. Two fixes:

  • Decontaminate Colors in Select and Mask, which rewrites those pixels using nearby subject colour.
  • Layer β†’ Matting β†’ Defringe at 1–2 px for a quick cleanup on a simpler cutout.

Check against the real background

Always judge a cutout over the background it will actually sit on, not over white or a checkerboard. A fringe invisible on white can be glaring on dark blue. Put the new background in place first, then refine the mask.

Paint hair back in

When a few strands are lost, add them. Use a 1–2 px brush at low flow, sample the hair colour with Alt, and draw short tapered strokes that follow the existing direction. A handful of strands across the silhouette is enough to sell it β€” see realistic compositing for the rest.