# Background Remover — AO tool

> 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. Runs entirely client-side: no upload, no server, no file limits, no sign-up.

Human page: https://abstractobjective.dev/tools/background-remove/
Status: live · Category: image

## Input and output
- In: jpg, jpeg, png, webp, bmp, avif, heic, heif
- Out: png

## Programmatic use (the AI-facing twin)
All computation happens locally in the page context.

- `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.

## Notes
- The model is MODNet (Apache-2.0) running on onnxruntime-web (MIT). Both were chosen for their licences as much as their quality: the two most popular alternatives are unusable on a public site — @imgly/background-removal is AGPL-3.0, and briaai/RMBG-1.4 and 2.0 are licensed for non-commercial use only.
- About 26 MB is downloaded the first time you use the tool, and then cached by your browser. Nothing is downloaded if you never open this page.
- MODNet is trained on people. It is very good at portraits and half-length shots, and it is not a general object cutter — it will not reliably isolate a shoe or a car.
- Output is always PNG, because transparency is the point and JPEG has no alpha channel.
- Full resolution, always. The image is analysed at a reduced size for speed, but the resulting matte is applied to your original pixels — there is no cap, no watermark and no paid tier.

## Properties
- Privacy: files never leave the browser tab.
- Limits: none imposed by us; the practical ceiling is your device's memory.
- Cost model: client-side compute — free without caps, sustainably.

---

## 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/).
