Background Remover
Auto-removes the background → transparent PNG. People photos use AI (MediaPipe); white-background logos use color-based removal.
Photos that work well vs. don't
| Good results | Weaker results |
|---|---|
| Person or product on a white / clean background | Subject and background are similar in color |
| Subject fills 60%+ of the frame | Subject is far away / small |
| Sharp outlines (pets, objects) | Long hair / fur details (small-model limits) |
| Even lighting | Strong shadows / reflections / backlight |
| 1000–2000px wide | Under 500px (low res) or 4000+ (memory) |
How background removal runs inside your browser — on-device AI inference
Most online cutout sites upload your photo to a server, process it on their GPU, and send the result back. This tool works differently. The AI model (MediaPipe Selfie Segmenter) that finds the person/background runs directly inside your browser via WebAssembly. Your photo never leaves your device — privacy here is a structural property, not just a promise.
1. First load: download the model once
The first time you use photo mode, the model file (~0.24MB) and the WebAssembly runtime are downloaded once from the Google MediaPipe CDN. This downloads the program (model weights), not your photo. The assets are stored in the browser's IndexedDB / HTTP cache, so from the second run onward in the same browser it starts instantly with no extra download.
2. Inference: the model decides foreground vs background per pixel
The model takes your photo and computes, for every single pixel, the probability that it belongs to the foreground (subject), producing an alpha mask. This runs on your device through WebAssembly. So speed depends on your own hardware and the image resolution, not on a server.
Easy images vs hard images — and why
What separates an easy photo from a hard one comes down to how clear the boundary is.
- Works well — people, pets, and products with crisp outlines and strong color/brightness contrast against the background. The model confidently pushes the foreground probability toward 0 or 1, so edges come out clean.
- Hard cases — (1) hair and fur, where foreground and background mix within a single pixel; (2) semi-transparent areas like glass, water, or smoke; (3) subjects whose color is similar to the background, making the boundary ambiguous; and (4) busy, cluttered backgrounds. Here the foreground probability hovers near 0.5 and the mask gets rough.
The MediaPipe Selfie model is tuned for people, so it's cleanest when a person is the main subject. For non-person subjects (pets, objects) or finer matting, a general model (a future option) may fit better. For simple images like a plain white background, logo mode (color-based removal) is faster and cleaner.
Related tools
Which engine removes the background?
Why download model files from the Google CDN?
WebAssembly requirements
Tips for large photos
Does it work on pets / objects? / Switching engines
Frequently Asked Questions
Are my images uploaded to a server?
Why is the first run slow?
What kind of photos work well?
What if the result is unsatisfactory?
What format is the result?
Maximum image size?
References · sources
- MediaPipe Image Segmenter (Selfie) — Google MediaPipe (Apache-2.0 · code + model weights). People background separation.
- Model + runtime hosting —
cdn.jsdelivr.net/npm/@mediapipe/tasks-vision+storage.googleapis.com/mediapipe-models/…/selfie_segmenter.tflite(~0.24MB). - Legacy engine (optional) — @imgly/background-removal (AGPL-3.0 / Commercial). One-line switch in code when a general model is needed.
- WebAssembly — webassembly.org (W3C standard)