Background Remover
Cut the background out of a portrait at full resolution, free and uncapped — the neural network runs in your browser, so the photo never leaves it. Nothing is uploaded — your files never leave this tab. No sign-up, no size cap, no daily limit.
A neural network, running in your tab
This is the tool where the whole idea behind this site becomes visible. Background removal is real machine learning — a segmentation model deciding, pixel by pixel, what is subject and what is not. Everywhere else, that means uploading your photograph to a server.
Here the model is downloaded to your machine and run inside this browser tab. Your photograph is never transmitted. You can watch the network panel while it works and see that nothing goes out.
What that changes in practice
The best-known remover gives free users a 0.25-megapixel preview — roughly 625×400 pixels — and charges for the real thing. That limit is not arbitrary: every full-resolution image they process costs them GPU time, so the free tier has to be small enough to be bait.
This page has no such cost, and therefore no such limit. You get the full resolution of whatever you put in, every time, with no watermark, no account and no paid tier. The image is analysed at a reduced size for speed, but the resulting cut-out is applied to your original pixels.
And the privacy point is not abstract here. The photographs people run through background removers are overwhelmingly pictures of people — portraits, headshots, family photos, pictures of children for a school project, product shots that include a face. Those are exactly the images worth not handing to a stranger's server.
How long it takes, honestly
The first time you use it, roughly 26 MB is downloaded: the model itself and the runtime that executes it. Your browser caches that, so it happens once. If you never open this page, nothing is downloaded.
Then the work itself takes a few seconds per image — measured here at around five seconds for a typical photograph, so expect the first one to take ten or twelve including the download. That is slower than a server with a dedicated graphics card, and there is no honest way to pretend otherwise. What you get for the wait is that the photograph stayed on your machine and came back uncropped.
What it is good at, and what it is not
The model is MODNet, and it is trained on people. It is very good at portraits, headshots and half-length shots, including tricky edges like hair. It is not a general-purpose object cutter — it will not reliably isolate a shoe, a car or a piece of furniture, and it is better to say that here than to let you discover it on a product photo.
Output is always PNG, because transparency is the entire point and JPEG has no alpha channel. If you want a solid colour behind the subject instead, choose one and the result is flattened onto it.
Why these particular components
Two of the most popular building blocks for this job are unusable on a public site, and the reason is worth stating: @imgly/background-removal is AGPL-3.0, and the widely-used RMBG-1.4 and RMBG-2.0 models are licensed for non-commercial use only. They are what most tutorials reach for.
This page uses MODNet (Apache-2.0) on onnxruntime-web (MIT) — chosen for their licences as much as for their quality. Both are listed, with their licences, on the [licences page](/licenses/).
For machines
window.AOBackgroundRemove.removeBackground(blob, {background, colour}) -> Promise<{blob, width, height}> — Remove the background from a portrait image Blob, returning a PNG. background: transparent|colour. The model is downloaded once on first use and cached by the browser.
A machine-readable description lives at index.md. Third-party components and their licences are listed on the licences page.