$ bg --remove
Text and filesRemove Background from Image
Cut the background out of your photos automatically — in batches, no upload, with a lightweight AI model running in the browser. Model downloaded only once, then cached.
- no upload
- AI in the browser
- free
When removing the background automatically is worth it
A product photo on white that needs to become a catalogue photo with a transparent background. A passport portrait that needs freeing. Compositing images into a banner. An illustration for a sticker. In all those cases, having the subject isolated from the background saves manual work.
The model: U²-Net lite
We use U²-Net lite, the default model of the open-source @imgly/background-removal package. It is a neural network trained for saliency segmentation: given an image, it predicts which part is the subject and which is the background. The lite version is ~6 MB — much smaller than the full MODNet (25 MB) but enough to handle most flat-background cases.
The trade-off is honest: lite is fast and light, but on loose hair, fuzz and fine detail it may leave a halo. For professional use where every strand matters, finishing the cut in an external editor is worth it — the transparent base layer produced here already closes 90% of the work.
Why "no upload" changes everything
Services like remove.bg, Photoroom and Adobe Express charge by credit precisely because they run the model in the cloud — the real-time GPU cost per photo is real. Here the model runs in your browser, in WebAssembly, using your CPU. No server, no queue, no credit limit.
And because there is no upload, the photo never leaves your machine — important for a photo of a person, a document, a screenshot with sensitive data, or NDA material. You can disconnect from the internet after the model is cached and the tool keeps processing.
Model downloaded once, cached in the browser
The model (~6 MB) is downloaded from a public CDN (staticimgly.com) the first time you click "Download model". After that, it lives in the browser Cache API — in later sessions, even days later, there is no download. That matters on mobile and keeps the UX stable: from the second use onward, just click "Remove background".
Results and limits
- Flat backgrounds — clean cut, ready to use.
- Slight gradient backgrounds — still works, with a small halo at times.
- Loose hair / fuzz — visible halo expected; touch up in an external editor if pixel-perfect is needed.
- Noisy backgrounds (foliage, crowds, patterns) — the model gets confused; for those cases an external editor is still more reliable.
Before bringing huge photos through, run them through the image compressor. To merge several cut-out photos into a single PDF, the images to PDF tool does it in a heartbeat.
## faq
Frequently asked questions
Is the photo uploaded to a server?
No. The photo is read by the browser, processed by an AI model running in WebAssembly inside your own browser, and the result is delivered on your machine. The model (~6 MB) is downloaded from a public CDN the first time and cached in the Cache API of the browser — on later uses there is no download. No upload, no queue, no cloud copy.
What is the quality of the cut?
We use U²-Net lite, the default model of the open-source @imgly/background-removal package. It works well with flat backgrounds and clean contours: a studio portrait, a product photo on white, an illustration on a solid background. On loose hair, fuzz and fine detail, the result may show a visible halo — the trade-off of using the lite version instead of a 25 MB model.
How long does it take?
Depends on the photo and the device. Modern desktop: 2-5 seconds per photo. Mobile: 5-20 seconds. The first run is slower because the model downloads; afterwards it stabilises. Multiple photos are processed in series, precisely to avoid blowing up mobile memory.
Can I process several photos at once?
Yes. Drop multiple photos in the dropzone, click "Remove background" and each is processed in series. The "Download all" button delivers every resulting PNG.
Is the result a PNG with transparency?
Yes, by default. PNG output preserves the alpha channel, with a transparent background. To composite on a coloured background, export the result and drop the PNG over your new background.
How to improve the result on hair?
Shoot with a background that contrasts clearly with the subject. Avoid backgrounds close in colour to the hair. In critical cases of loose hair, export the PNG and finish the touch-up in an editor (Photoshop, Affinity Photo, Figma) — a known limit of the lite model.
Is there a size or quantity limit?
No server to overload — the ceiling is your browser memory. Top-tier phone photos (15+ MP) can take 10-15 seconds each on desktop, and several of them eat RAM. For giant photos, compress them first via our image compressor.
## other tools