webtools

Background Remover

Private: the cutout is worked out on your device, never uploaded

Drop a photo in to start. The first cutout downloads the model, about 9 MB, and that happens once: after it is cached this page keeps working with your connection switched off.

Take the background out of a photo and keep the person, the pet or the product, as a PNG with real transparency. It runs a segmentation model inside this page, so the picture is never uploaded to anyone: the model is downloaded to you instead, once, and after that the tool works with your connection switched off. Choose a solid colour instead of transparency when the cutout is going on a white product listing or a passport style form.

About this background remover

Every other background remover works the same way: you hand your photo to a server, it runs a model there, and it sends a cutout back. That is a reasonable engineering decision and a poor privacy one, because the photo people most want a cutout of is usually a photo of a person. A passport picture, a child, a product that is not announced yet. Once it has been uploaded you are trusting a retention policy you cannot check.

This page does the same work in the same way, except that the model comes to you. It is u2netp, the small version of U-2-Net, a network trained to find the one salient object in a picture and say how strongly each pixel belongs to it. It is about four and a half megabytes and it runs through ONNX Runtime Web, which your browser executes as WebAssembly, or on your graphics card through WebGPU where you have it. On WebGPU a cutout takes around a second. On WebAssembly it takes a few.

The output uses the model's confidence as the alpha channel directly, rather than rounding every pixel to fully kept or fully gone. That distinction is the whole difference between a usable cutout and an obvious one: hair, fur and motion blur are genuinely part subject and part background, and a hard edge through them is what produces the sharp white halo you can spot across a room.

How to remove the background from a photo

  1. Drop a photo on the box, click it to browse, or paste one straight onto the page. Several at once is fine.
  2. Wait out the first download. It is the model itself, it happens once, and the status line counts it up so you can see it moving.
  3. Look at the right hand pane. The checkerboard behind it is how you can tell the transparency is real rather than white.
  4. Switch to Solid colour and pick one if the cutout is going somewhere that wants a flat background. The model does not run again, so this is instant.
  5. Press Download for a PNG. Several photos come back as one ZIP, and each row has its own download button. A cutout has to be a PNG to keep its transparency, which makes it several times the size of the JPG it came from, so compress it before it goes on a web page.

Common questions about removing a background

Does my photo get uploaded to run the AI model?

No. The model is downloaded to your browser and the photo stays where it is. Check that rather than believing it: press F12 to open your browser's developer tools, choose the Network tab, and run a cutout. The only requests listed are for the model files themselves, served from this site, and they are downloads rather than uploads. Once those are cached you can switch your connection off entirely and the page keeps working, which is not something an uploader could do.

Why is the first cutout so slow?

Because that is when the model arrives. Doing this work in your browser means the browser needs the model and the runtime that executes it, which together are about 9 megabytes, and they are only fetched when you actually choose a picture rather than on every page view. After that they sit in your browser's cache, so the second photo starts immediately and so does every photo tomorrow.

What kind of photos does it work best on?

One clear subject against a background that is not the same colour as it. A person, a pet, a single product, a piece of furniture. It was trained to find the one thing a picture is about, so it is strongest exactly there and weakest when the answer is genuinely ambiguous: a crowd, a plate of food, a reflective or transparent object, or a subject wearing the same grey as the wall behind it. The percentage in the figures tells you how much of the frame it decided was subject, which is the quickest way to spot a result that has gone wrong.

Can I put the cutout on a white background instead?

Yes, that is what Solid colour does, and white is what it opens on. Marketplace listings usually require a plain white background and passport style photos often require a specific one, so for a lot of people this rather than transparency is the actual goal. The colour is composited using the same soft edge, so the subject does not get a fringe of the old background around it. Switching between transparent and a colour does not run the model again.

Why are the edges of hair soft rather than sharp?

Because that is what is actually there. A single pixel at the edge of a strand of hair contains some hair and some wall, and the honest value for it is partly transparent. Forcing every pixel to be either kept or removed is faster to compute and gives the jagged, haloed cutout that immediately reads as fake. The model reports a confidence per pixel and this page uses it as the alpha channel unchanged.

Why is the result a PNG and so much bigger than my JPG?

Because a JPEG has no alpha channel, so it cannot hold transparency at all: saving a cutout as a JPEG fills the transparent part with black. PNG can, and PNG is lossless, which is why the file grows. If you chose a solid colour rather than transparency then you no longer need the alpha channel, so run the PNG through the compress or convert tool afterwards and take the JPEG or WebP.

Next

Related tools

All Image tools