Remove the background from a photo — on your device, no upload

This tool cuts the main subject out of a photo with an AI model that runs inside your browser, then saves it as a transparent PNG or on a white or coloured background.

Live demo · real result from this tool

Drop your image here

or paste with Ctrl+V · nothing is uploaded

Background

Runs the BiRefNet lite AI model (MIT licence) on your device. The first run downloads about 214 MB from Hugging Face (plus the ONNX runtime from jsDelivr); later runs use the browser cache. Your photo is never uploaded.

Your cut-out appears here — processed on your device.

Processed on your device — nothing is uploaded.

How to use Background Remover

  1. Choose a photo. One clear subject works best: a person, a product, an animal.
  2. Under Background, pick Transparent, White or Colour. With Colour, choose the shade in the Colour box.
  3. Leave Crisper edges (removes faint halos) ticked for most photos. Untick it if fine hair or fur looks chopped.
  4. Keep Engine on Automatic (GPU when available) unless it fails, then switch to CPU only (slower, works everywhere).
  5. Press Remove background. The first run shows the model download size and a progress bar.
  6. Drag the before/after slider (or use the arrow keys on it) to check the edges, then download the file ending in -no-bg.

What it does and when to use it

The tool separates the subject of a photo from everything behind it. You get a cut-out that you can place on a slide, a product listing, a poster or a profile picture.

Typical jobs:

  • Product photos for an online shop, where marketplaces often ask for a plain white background.
  • Profile pictures with a calm, solid colour behind you instead of a messy room.
  • Design work: a transparent PNG drops straight onto another picture, a banner or a document.
  • Stickers and cut-outs for school projects or presentations.

If you only need to remove a flat colour, such as a white studio backdrop, a colour tool can be quicker. For anything with a real scene behind the subject, this is the tool to use.

How it works

Everything runs inside your browser, in a background worker so the page stays responsive.

  1. Decoding. The photo is decoded on your device. Very large photos are scaled so the long side is at most 4,096 px.
  2. The model. The subject is found by an open segmentation model, loaded with Transformers.js from a fixed version on Hugging Face so every visitor of the same kind gets the same model. With WebGPU it is BiRefNet lite (MIT licence). Without WebGPU it is ormbg (Apache-2.0 licence), an 8-bit model made for photos of people, because BiRefNet needs more memory than WebAssembly allows.
  3. Download and cache. On a WebGPU graphics card with half-precision support, the browser fetches the 16-bit BiRefNet weights, about 109 MB. With WebGPU but no half precision it fetches the 32-bit weights, about 214 MB. Without WebGPU it fetches the 8-bit ormbg weights, about 42 MB. The files are stored in your browser’s cache, so the download happens once per browser.
  4. The mask. Both models work on a 1,024 × 1,024 px copy and returns a grey mask: white for subject, black for background, grey for soft edges. The mask is scaled back to your photo’s size.
  5. Clean-up. With Crisper edges on, very faint grey values become fully transparent and nearly solid values become fully solid. This removes the pale halo that often sits around a cut-out.
  6. Saving. Transparent results are saved as PNG. White or coloured backgrounds are blended into the edge pixels and saved as JPEG.

The result panel shows the share of the picture taken up by the subject, the engine used (WebGPU or WebAssembly) and the model name and version.

Worked examples

A 6,000 × 4,000 px camera photo of a shoe. The tool first scales it to 4,096 × 2,731 px, the largest size it handles. The model reads a 1,024 px copy, and the mask is stretched back to 4,096 × 2,731 px. With a transparent background you get a PNG of that size, ready for a product page. If the marketplace wants white, run it again with White and you get a JPEG instead.

A phone portrait for a profile picture. Pick Colour and a soft blue. The subject’s edges are blended into the blue, so there is no hard cut line. Then crop it square with the Image Cropper or round it with a circle crop.

A cut-out that is too large to email. Transparent PNGs of big photos can run to several megabytes. Shrink it first with the Image Resizer, or, if the background can be white, save as JPEG and reduce it further with Compress Image to 100 KB.

Limits and tips

  • Hair, fur and glass are the hard cases. Fine strands, semi-transparent fabric, glass and reflections can be cut too hard or keep bits of background. Check the edges with the slider.
  • Without WebGPU the model is built for people. The smaller ormbg model used on the CPU was trained on photos of people. Products, animals and objects can cut out less cleanly than with the BiRefNet model used on WebGPU, so check the edges.
  • One clear subject works best. Group photos, busy scenes or a subject the same colour as the background confuse the model. If almost nothing is detected, the tool says so.
  • It needs a capable device. The CPU engine is single-threaded and can be slow on phones and older laptops, especially for big photos. A desktop browser with WebGPU is the fastest route.
  • The download is large. On a metered or slow connection, wait for Wi-Fi before the first run.
  • Results are not perfect. It is an automatic tool; it can miss a hand, a strap or a thin handle. Treat the cut-out as a strong first draft.
  • Location data. Metadata from the original photo, such as GPS, is not copied into the saved file. For other files, the EXIF Remover strips it without changing the picture.

Frequently asked questions

Why does the first run take so long?
The first time, your browser downloads the model. On a graphics card that supports WebGPU it is BiRefNet lite, about 109 MB with half precision support and about 214 MB without. Without WebGPU it is the smaller ormbg model, about 42 MB. The tool shows the exact size before it starts. After that the model comes from the browser cache, so later photos only need the processing time.
Is my photo sent to a server?
No. The photo is read and processed in your browser tab. The only downloads are the model weights from Hugging Face and the runtime code from jsDelivr; your picture never goes the other way.
Why are the hair edges rough?
The model looks at a 1,024 px version of your photo, so single strands and fly-away hair are hard for it. Try turning Crisper edges off for a softer edge, or use a photo where the hair stands out clearly against the background.
Can I use this for a passport photo?
You can, but check the rules first. Many passport offices reject photos that have been edited, including a replaced background. The Passport Photo Maker has an optional background step and repeats this warning.
Which engine should I pick?
Leave Automatic on. It uses your graphics card through WebGPU when the browser offers it, and falls back to the CPU if that fails. Choose CPU only if the automatic engine shows an error.
Why is the result a PNG when I chose a transparent background?
JPEG cannot store transparency, so transparent cut-outs are saved as PNG. White and coloured backgrounds are saved as JPEG, which keeps the file smaller.

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close