Transparent Background Remover

Cut the subject out and keep a real alpha channel. One image at a time.

Background
Transparent
One image at a time

How to use

01

Load one image

Drop a single file. Photographs with a clearly defined subject work best: a person, a product, an animal, anything with an edge the model can find.

Tip: Good separation between subject and background helps more than resolution does. A busy background of similar colour is the hard case.
02

Wait for the model on the first run

The first image of a session downloads the network weights and shows progress while it does. Later images skip this because the browser has cached them.

Tip: The wait is a one-time cost per browser, not per image. The second cut-out is dramatically faster than the first.
03

Process and download the PNG

Output is always PNG, because it is the format in this batch that carries a real alpha channel. The transparent areas are genuinely transparent, not white.

Tip: Check the result against a dark background as well as a light one. Edge fringing is invisible on white and obvious on black.

Key Features

Runs entirely on your device

The model executes in WebAssembly in your browser, using WebGPU when it is available. Your photograph is never transmitted, never queued on someone else's hardware and never retained anywhere.

A real alpha channel

The output is a PNG with genuine per-pixel transparency, so hair, fur and soft edges composite correctly onto any background rather than carrying a white halo with them.

One image at a time, enforced

Every request passes through a single concurrency slot. The model is memory hungry enough that running two at once reliably crashes phone browsers, so the limit is enforced in code rather than suggested.

Weights cached after the first run

The network is downloaded once and kept by the browser cache. The first cut-out of a session pays for the download; everything after it starts processing straight away.

Adapts to the device

Phones and tablets receive a half-precision build of the model and a lower working resolution, which keeps the tool usable on hardware that would otherwise run out of memory partway through.

No account, no quota

There is no sign-up, no credit system and no per-image charge, because there is no server doing the work. The only limit is how patient your own machine is.

Frequently Asked Questions

Why can I only do one image at a time?+
The segmentation model holds large intermediate tensors in memory while it runs, on top of tens of megabytes of weights. Two concurrent runs will exhaust the memory a browser tab is allowed on a mid-range laptop and will certainly fail on a phone.

The limit is enforced in the engine itself, so even if something tried to start a second run it would wait rather than compete for memory.

Is my photograph uploaded anywhere?+
No. The model runs in your browser and the image data never leaves the tab. You can put the browser in aeroplane mode after the page has loaded and the tool still works, which is the simplest way to verify the claim yourself.
Why is the first image so much slower?+
The model weights have to be downloaded before anything can run, and they are large. That happens once per browser. After the cache is warm the model loads locally and processing starts immediately.
What kind of images does it struggle with?+
Fine detail against a similarly coloured background, transparent or reflective objects like glass and water, and motion-blurred edges. Wispy hair against a busy background is the classic hard case for any segmentation model, not just this one.
Why is the output always PNG?+
Because the point of this tool is the alpha channel, and PNG is the format here that stores one losslessly. Saving a cut-out as JPEG would discard the transparency entirely and fill it with black.
Does it need a fast machine?+
It benefits from one. WebGPU makes a substantial difference where the browser supports it, and falls back to WebAssembly on the CPU where it does not. On older hardware expect to wait several seconds per image rather than under one.

Format Comparison

Feature Specificationtransparent background removalAlternative
Where processing happensYour browser and GPUA remote server
What happens to your imageNever leaves the tabUploaded and processed remotely
Images per runOneUsually batched
Cost modelNo account, no quotaCredits or subscription
Works offlineYes, once the model is cachedNo

Technical Overview & Specifications

Deep dive into transparent background removal architecture and processing.

Show Details

Platform Overview

Removing a background used to mean an hour with a pen tool, or uploading your photograph to a service that would keep a copy of it. This does neither. A segmentation neural network called ISNet runs inside your browser, compiled to WebAssembly and using your GPU where WebGPU is available, and produces a per-pixel mask separating subject from background. That mask becomes the alpha channel of a PNG. The image never goes anywhere. You can disconnect from the network after the page loads and it will still work, which is a claim most background removers cannot make and the reason this one was built this way.

The tool deliberately handles one image at a time. That is not a queue restriction dressed up as a feature: the model weights are tens of megabytes and the network holds several large intermediate tensors in memory while it runs, so two images running concurrently is how you get a browser tab terminated on a laptop and guaranteed failure on a phone. Every call is funnelled through a single slot, so even if two requests are made the second waits. The first run of a session downloads the model, which takes a moment on a slow connection; after that it is cached by the browser and subsequent images start immediately. Mobile devices are given a smaller half-precision variant automatically.

How the cut-out is produced

ISNet comes from research into dichotomous image segmentation, which is the problem of separating one salient object from everything else at high accuracy along the boundary. Unlike the older approaches that produced a hard yes-or-no mask, it outputs a confidence value per pixel, which is what allows soft edges to be represented properly. That matters enormously for hair and fur, where a pixel is genuinely part subject and part background and forcing it to be one or the other is what produces the cut-out-with-scissors look. The confidence map becomes the alpha channel directly, so a pixel the model is seventy percent sure about ends up seventy percent opaque.

Once the mask exists, compositing is ordinary canvas work. The cut-out is drawn and the mask applied through the alpha channel, then the result is serialised as PNG at a quality appropriate to the device. Because the whole pipeline is memory bound rather than compute bound at the margin, the engine wraps every call in a single-slot limiter: a promise queue with a concurrency of one. Requests that arrive while a run is in progress wait their turn instead of allocating alongside it. The batch limit of one file on these pages is the visible half of the same decision, and the limiter behind it is what makes the guarantee real rather than a convention the interface hopes you follow.