Remove the background from an image
A real AI salient-object model — u2netp on WebAssembly — running in this tab. Drop an image, press the scissors, get a transparent PNG. The photo never leaves your device.
Drop an image (PNG, JPEG, WebP, GIF, BMP) anywhere on this page
The AI runs entirely in your browser. Images never leave your device.
“Remove background” tools are the textbook upload service: your photo goes to a server, a neural network runs on the provider’s GPUs, and the cutout comes back — along with a watermark, a sign-up wall, or a per-image charge. For a product photo that trade can be fine. For the photos people actually cut out — ID pictures, team headshots, shots of private documents — it is the wrong default, and it is no longer necessary: a browser tab can run the model itself.
That is what this page does. The *model* travels to you — U²-Net in its lightweight u2netp form, executed by onnxruntime-web on WebAssembly — and your photo never travels at all. The claim is checkable, not a slogan: open DevTools, cut an image out, and watch the Network tab — the only fetches are the one-time engine and model download (~19 MB total, from this site’s own domain, cached afterwards), and no request ever contains your image. Load the page, go offline, and cutouts still work.
How to remove a background here
Nothing to install, nothing to sign up for:
- Drop your image anywhere on this page (PNG, JPEG, WebP, GIF, BMP) — or press Try an example image first.
- Click the image in the file list to open the viewer.
- Press the scissors button (✂ Remove background). The first run downloads the engine and model once (~19 MB, same-origin, cached); every later run starts immediately.
- The viewer swaps to the transparent cutout on a checkerboard — download it as a
.pngfrom the status bar, or flip back to the original.
Where the AI runs
On your machine, in this browser tab. The model is u2netp — the compact edition of U²-Net, a salient-object-detection network: it looks at the image and predicts, per pixel, how likely that pixel is to belong to the main subject. That prediction becomes an alpha channel, the mask is smoothly upscaled to your photo’s full resolution, and the result is encoded as a straight-alpha PNG — the format every design tool, store backend, and slide deck already accepts.
Everything in that pipeline is local: onnxruntime-web executes the network as WebAssembly (single-threaded — no cross-origin isolation headers, no shared-memory requirements), and the cutout is encoded with the browser’s own compression. Nothing about your image — not its pixels, its name, or its dimensions — is transmitted anywhere. This is the same posture as the photo culling workflow: the AI runs on your device or it does not run at all. The why client-side is safer than uploading page walks through how to falsify claims like this one.
Whole folders at once
Images rarely travel alone. If your photos live in a zip — a product shoot, a folder of headshots — drop the archive, open the folder, and the toolbar’s scissors button removes the background from every image in it (up to 50 per run, serially, with per-file progress and a cancel that stops between files). The cutouts download as one `<archive>-cutout.zip` with the folder structure kept, each file named <original>-cutout.png so it can never collide with a sibling .png.
The batch and the single-image viewer share one engine: the ~19 MB download happens once per browser, not once per photo.
Which images work
The raster set the browser can decode: PNG, JPEG, WebP, GIF (first frame), and BMP, at up to 25 MB and 30 megapixels per image. Two honest not-yets: RAW and HEIC photos are not accepted by the cutout pipeline today (convert them first via RAW → JPG or HEIC → JPG, which are equally upload-free), and SVG is code, not pixels — it opens in the text viewer.
u2netp is a *salient-object* model: it shines when the photo has one clear main subject — a product on a plain-ish background, a portrait, a pet, a car. It has no notion of “remove exactly the sky” or “keep only the person on the left”; it cuts out what it judges to be the subject.
Honest limits
Real capability, real boundaries — stated up front.
- One-time engine download (~19 MB total: the WebAssembly runtime plus the model) from this site’s own domain, cached by your browser; afterwards cutouts work offline.
- Fine edges are the weak spot. The model works at 320×320 internally, so hair, fur, and motion-blurred boundaries come back soft or slightly haloed. Solid subjects cut out cleanly; flyaway hair does not — no marketing claim can change the model’s geometry.
- EXIF does not survive. The output is a re-encoded PNG; metadata stays readable in the viewer’s Info panel while the original is open.
- Size caps keep the tab alive: 25 MB and 30 MP per image, 50 images per folder batch.
- Salient object, not instruction-following — no “remove only the background between these two people”, no manual brush-up pass (yet).
Credits
The model is U²-Net / u2netp (Apache-2.0), and the runtime is ONNX Runtime Web (MIT). Both are served from this site’s own domain as standalone, cacheable files — no third-party CDN, no model API. This page adds the viewer, the folder batch, and the archive integration; u2netp does the looking.
Frequently asked questions
Is my image really not uploaded anywhere?
Really. The AI model runs as WebAssembly in your browser, in this tab, on your device. The only network fetches are the one-time engine and model files (~19 MB) — code, served from this site’s own domain and cached afterwards. Verify it in DevTools: no request after that download contains your image, and removing backgrounds keeps working if you go offline.
Is this background remover free?
Yes — no account, no watermark, no per-image credits. The limits that exist (25 MB / 30 MP per image, 50 images per folder batch) exist to keep your browser tab responsive, not to sell an upgrade.
How good is it with hair and fine edges?
That is the honest weak spot. u2netp works at 320×320 and the mask is smoothly upscaled, so clean subject boundaries cut out well, while hair, fur, and motion blur come back soft or slightly haloed. For product shots and graphics it is usually production-ready; for strand-level portrait retouching a desktop editor is still the right tool.
Does it work offline after the first use?
Yes. The engine and model are downloaded once and cached immutably by your browser, so every later cutout — on this page or in the tool — runs with no network at all. Load the page first, then go offline and try it.
Which image formats are supported?
PNG, JPEG, WebP, GIF (first frame), and BMP — up to 25 MB and 30 megapixels each. RAW and HEIC are not yet accepted by the cutout pipeline; convert them first with the in-browser RAW→JPG or HEIC→JPG batches. SVG is vector code and opens as text instead.
Can I remove backgrounds from a whole folder?
Yes. Drop the zip your photos came in, open the folder, and press the scissors button in the toolbar (or ⌘K). Every image in the folder is processed — up to 50 per run — and the transparent PNGs download as one zip that keeps the folder structure.