Skip to content

Background Remover

Keys out a flat or single-colour background in OKLab and returns a transparent PNG, with a brush for fixing the edges.

This is a chroma key and a border flood fill, not a matting model — which is exactly the right tool for a product shot on white, a portrait on a plain backdrop, or green screen, and exactly the wrong one for a person with loose hair against a busy background.

🔒 Runs entirely in your browserbackgroundcutouttransparentchroma-key

Drop a product shot, a portrait on a flat backdrop, or a green screen

Runs in this tab. The output is a PNG with a real alpha channel.

How to use it

  1. Pick flood or chroma

    Flood takes only background connected to the frame edge, so a white shirt in the middle of a white-backdrop photo survives. Chroma takes the key colour everywhere, which is what green screen needs.

  2. Leave the key colour on automatic

    It takes the median of the border pixels — the median, not the mean, so an arm running off the edge does not drag the value.

  3. Set the tolerance, then ignore lightness if needed

    Tolerance is a ΔE in OKLab. Raise “ignore lightness” for a green screen with shadows on it; lower it to separate white from light grey, where lightness is the only difference there is.

  4. Shrink the edge by a pixel if there is a fringe

    That removes the light halo left when the background was brighter than the subject. Those boundary pixels are a genuine mixture of the two.

Common questions

Why can it not do hair?

A pixel at a hair edge is part subject, part background, and separating them means solving three unknowns from one observation. The tools that do it well are trained networks with tens of megabytes of weights, and there is no arithmetic substitute.

It punched a hole in the subject.

Chroma mode removes the key colour wherever it appears, including on the subject’s clothing. Switch to flood, which only removes background reachable from the frame edge.

Why is the output always PNG?

Because the entire output of this tool is an alpha channel, and JPEG does not have one. Saving a cutout as JPEG composites it back onto a colour, which undoes the work.

Feed it from

Next

These accept what this tool produces, so the result can go straight in.