One model, one decision, and a deliberately soft edge
Behind the button is MODNet, an open-source image matting network, converted to run inside the browser through the transformers.js library and its ONNX runtime. It is that library’s own default model for background removal rather than an improvised substitute. Everything happens on your device: the model file is fetched over the network the first time you use the tool, but the photo itself is never sent anywhere.
Matting is a narrower job than the name “background removal” suggests. The model estimates, for every pixel, how much of that pixel belongs to the foreground subject, and the estimate is written into the alpha channel of a PNG. Because it is a continuous value rather than a yes or no, edges come back soft and anti-aliased instead of jagged, which is what makes a cutout look believable once it sits on a new background. It also means the model has no notion of what your subject is. It has learned what foreground subjects tend to look like, which is why one clear subject works well and a crowd scene is a coin toss.
The first run pays for a model download
Nothing is bundled into the page. The first time you click the button, the runtime and a quantized copy of the model weights, a little over six megabytes, are fetched from the library’s own CDN. That download is the reason the first photo feels slow and the rest do not, because the pipeline is built once and then reused for every later photo in the same visit. A slow connection makes the first run noticeably worse, and the tool does need network access for that initial fetch even though your photo never travels.
Feeding it photos and taking PNGs back
- Drop JPG, PNG or WebP photos into the box, or click Choose files. A whole batch is fine, and anything with another extension is refused with a message listing what is accepted.
- Click Remove Background from Image. On a first visit the model downloads before any pixels are analysed.
- Watch the progress bar, which tracks the batch as a whole rather than each photo separately.
- Download each result. Files are named after the original with
-no-bg.pngon the end, one link per photo.
There is no options panel on this page at all, because there is nothing to tune: no threshold, no edge feathering, no choice of output format.
Photos it handles well, and the ones it does not
One subject, reasonably separated from whatever is behind it, is the case this kind of model is trained for. Portraits, a product on a table, a pet, an object on a plain surface: those come back clean.
The failures are predictable rather than random. Fine flyaway hair and fur produce a soft and sometimes patchy edge. Glass, smoke and anything semi-transparent confuse a model that must commit to an alpha value. A subject the same colour and brightness as the wall behind it loses its boundary. Several overlapping people leave the model guessing which one counts as the subject. Motion blur smears the very edge it is looking for.
There is no brush or eraser here to repair a bad edge, so the practical move when a cutout comes back wrong is a different photo of the same thing, ideally one with more separation between subject and background, rather than another run of the same file.
The transparent PNG is bigger than the JPG you started with
Transparency is why the output format is fixed. PNG is what this page writes, and a JPG cannot carry an alpha channel at all, so it would have to fill the removed area with a flat colour, which defeats the exercise entirely.
PNG is also lossless, so a photographic subject that arrived as a heavily compressed JPG usually leaves as a considerably larger file. The finished panel spells this out, printing the input size, the output size and a percentage, and on this tool that percentage normally reads as larger. That is expected rather than a fault.
Where a cutout usually goes next
If the destination is a chat sticker, the sticker maker runs this same background-removal model and then fits the cutout onto the 512 by 512 canvas WhatsApp and Telegram expect, with an optional die-cut outline, which saves the sizing work. For a round avatar, circle crop always writes PNG, so the transparency of a cutout survives the crop instead of being flattened onto white. The rest of the image tools handle the ordinary edits around those.