All tools run in your browser — your files never leave your device.
All tools154

Image & Photo

Background Remover

Cut the subject out of a photo with a model that runs on your device.

What it does. A background remover separates the subject of a photo from everything behind it and outputs a PNG with a transparent background. This tool runs a U²-Net segmentation model directly in your browser using WebGPU or WebAssembly. The model downloads once and is cached; your photo never leaves your device.
Runs in your browserNothing uploadsNo signupWorks offline

How to use Background Remover

  1. Drop a photo onto the panel. The segmentation model downloads on first use only.
  2. Wait for the mask to compute — a few seconds on WebGPU, longer on WebAssembly.
  3. Download the cutout as a transparent PNG, or composite it onto a solid color.

How does in-browser background removal work?

The image is resized to 320×320, normalized, and fed into U²-Net — a nested U-structure convolutional network trained for salient object detection. The network outputs a single-channel probability mask at the same resolution, where each value is the model’s confidence that the pixel belongs to the foreground.

That mask is upscaled back to the source resolution with bilinear interpolation, refined at the edges, and written into the alpha channel of the original pixels. The color data is never altered — only transparency is added, which is why the cutout composites cleanly onto any background.

Inference runs through ONNX Runtime Web. Where WebGPU is available (Chrome and Edge 113+, Safari 18+) the convolutions execute on your graphics card and a typical photo processes in two to four seconds. Without WebGPU it falls back to WebAssembly with SIMD, which takes roughly fifteen to forty seconds.

What does the model handle well, and where does it fail?

U²-Net was trained on salient-object datasets, so it excels where there is one clear subject against a distinguishable background — the exact case of product photography and portraits.

What does the model handle well, and where does it fail?
SubjectResultNotes
Product on a plain backgroundExcellentThe training distribution; edges are clean
Person, upper bodyExcellentStrong on faces and torsos
Hair, fine strandsFairSoft edges lose individual strands
Glass, transparent objectsPoorThe model has no concept of transmission
Motion blurPoorAmbiguous boundaries produce a ragged mask
Multiple subjectsVariableSalience detection may pick only one
Low contrast subject/backgroundPoorThe boundary is genuinely ambiguous

Why is the model 42 MB, and does it download every time?

The Silueta build of U²-Net stores about 11 million parameters as 32-bit floats, which is where the size comes from — the full U²-Net is 168 MB, too much to ask for on a first visit. It downloads once, on your first use, and is then stored in the Cache API by the service worker.

Every subsequent visit loads it from disk in milliseconds with no network request. The download is also deferred until you actually drop a file — landing on this page and reading it costs zero bytes of model data, which is why the page itself loads as fast as any other on the site.

If the model cannot be fetched — you are offline on a first visit, or a corporate proxy blocks the CDN — the tool says so plainly instead of failing silently.

How does this compare to remove.bg?

Functionally the two do the same job. The differences are in economics and in where your image goes.

remove.bg processes on their servers, which means your image is transmitted, and their free tier limits you to preview resolution with paid credits for full size. That model exists because GPU inference at their scale has a real per-image cost.

Running the model on your own hardware moves that cost to zero, which is why there is no credit system here and no resolution cap. The trade is speed on low-end hardware and the one-time model download. For product photos, marketplace listings and profile pictures — where you may be processing dozens of images and none of them should be sitting on someone else’s server — the trade is usually worth it.

Frequently asked questions

Does my photo get uploaded?

No. The model is downloaded to your device and the image is processed locally. The only network request is for the model file itself, and it happens once.

Why is it slow on my machine?

Almost certainly the WebAssembly fallback. Without WebGPU, roughly 44 million parameters are evaluated on the CPU. Chrome or Edge on a machine with a discrete or integrated GPU will be five to ten times faster.

What resolution is the output?

The same as your input. The mask is computed at 320×320 and upscaled, so very large images have slightly softer edges relative to their size — but no resolution is lost from the color data.

Can it handle hair?

Partially. Broad hair shapes are captured well; individual flyaway strands are lost, since the mask is computed at 320×320. For studio portraits where hair detail is critical, a manual matte in an image editor still wins.

Is there a limit on how many images I can process?

No. There is no credit system, no daily cap and no account, because your hardware is doing the work.

What license is the model under?

U²-Net is released under the Apache 2.0 license, which permits commercial use. Some newer segmentation models are research-license only and cannot legally be used in a commercial product.

Can I put a new background behind the subject?

Yes. After the cutout, pick a solid color to composite onto, or download the transparent PNG and place it over any background in your editor.

Guides for Background Remover