Background Remover
Remove the background from any photo in one click. AI-powered, runs entirely in your browser.
Drop your image here
or click to browse
How it works
This runs a segmentation model called RMBG-1.4 in your browser through Transformers.js. The model predicts a per-pixel alpha mask separating subject from background, and that mask is applied to produce a transparent PNG. The image is never uploaded - the model comes to you instead.
That is the trade this tool makes. Server-side background removers send your picture to someone else's GPU and answer in a second. This one downloads a few tens of megabytes of model weights the first time you use it, then runs on your CPU. Slower to start, and nothing about your image leaves the tab.
More detail
What to expect from the result
RMBG-1.4 is genuinely good on the case it was trained for: a clear subject against a distinguishable background. Product shots, portraits and objects on plain surfaces come out clean.
It struggles where any matting model struggles. Fine hair against a busy background loses strands. Motion blur confuses the edge. Semi-transparent things like glass or smoke get treated as opaque or vanish entirely, because the model predicts one alpha value per pixel and cannot represent what is behind them. Low contrast between subject and background produces a soft, uncertain edge.
It returns a mask, not a selection you can nudge. If the edge is wrong, there is nothing to adjust here - that is a job for an editor.
Practical limits
The model weights are fetched from a public CDN on first use and cached by the browser afterwards, so the first image in a session is much slower than the rest.
Inference is capped at 25 megapixels. Larger images are refused rather than left to exhaust the tab's memory. If you hit that, resize first and scale the result back up.
It runs on the CPU. A few seconds per image on a modern laptop is normal, longer on a phone. This is not a batch tool.
Output is always PNG, because the point is the alpha channel and JPEG does not have one.
Questions
Is my image uploaded to a server?
No. The model itself is downloaded to your browser and the inference runs locally. The only network traffic is fetching the model weights, which happens once and is then cached.
Why is the first image so slow?
Because the model has to be downloaded and initialised before it can run. That cost is paid once per session. Subsequent images use the loaded model and are much quicker.
The edges around hair look rough. Can I fix it?
Not in this tool. Fine hair against a detailed background is the hardest case for any single-pass matting model, and there is no edge adjustment here. If the cutout has to be perfect, use this as a starting point and refine it in an image editor.
Why can I only save as PNG?
Because the output has a transparent background and PNG is the format that carries one. Saving as JPEG would fill the transparency with a solid colour and undo the whole operation.