Skip to tool

Private · on-device

Peel the background off a photo — in this tab, nothing uploaded

Transparent PNG, or a solid color behind the subject. Works on people and products. Fine hair and glass may need a desktop editor.

Drop a photo

JPG, PNG or WebP. The pixels never leave this tab.

Background
Refine
Feather

Preview

Drop a photo to preview the cutout on a checkerboard.

How it works

  1. 01

    Drop a photo

    JPG, PNG or WebP. It stays in this tab. HEIC from Camera Roll needs a convert-first step.

  2. 02

    Peel

    U²-NetP isolates the subject at 320 px, then we upsample the mask. First visit loads 4.7 MB.

  3. 03

    Download

    Transparent PNG, or a solid backdrop. Nothing was uploaded. Check the checkerboard before you ship it.

A background remover that never takes the photo

Most “free background removers” are a form in front of someone else’s GPU. You drop a portrait, wait on a spinner, and hope the privacy policy means what the landing page implied. Peel is the other design: the cutout is computed in this browser tab. The pixels of your photo are not posted to Peel, not posted to a removal API, and not stored on a disk we control.

The engine is a small open-source net, U²-NetP, running through onnxruntime-web inside a Web Worker. The weight file is about 4.7 megabytes and is served from this same origin at /models/u2netp.onnx. The first visit downloads it once and Cache Storage keeps it. After that, peeling a still is a local job: resize, normalise, infer a 320×320 saliency mask, upsample, feather, write a PNG.

That architecture is the whole product. It is also the reason Peel is slower on a first load than a cloud demo, and sharper on the privacy question. If you open DevTools during a peel you should not see a multipart upload of the image. You should see the model and the WASM runtime, then canvas work.

Transparent PNG or a solid plate

Two exports cover almost every still people actually need. Transparent PNG is the default: subject on alpha, so you can drop the file on a slide, a product page, a thumbnail, or a design file without a halo of studio grey. JPEG cannot do this. If a site asks for a “transparent JPG”, they are asking for a white rectangle.

Solid fill is the marketplace path. Amazon, Etsy, many Shopify themes and print-on-demand panels reject alpha and want a white (or brand-colour) studio plate. Switch Peel to Solid, keep white, download. The checkerboard you see in the preview is a local overlay so you can judge the mask; it is not burned into the file unless you ask for a colour.

Step-by-step notes live on the how-to page. Dedicated walkthroughs cover transparent PNG, white backdrops, a photograph as the plate, catalogue stills and portraits. Hard cases — hair, glass, HEIC, memory — are listed honestly on limits. After you download, the file still has to survive iPhone Photos, WhatsApp photo-send, and listing forms — Files vs Photos, WhatsApp flatten, marketplace recode.

What Peel is, and what it is not

Peel is a single-image utility. One still at a time, JPG / PNG / WebP, under 15 MB. On iPhone the long edge is capped at 2048 px before inference so Safari does not run the tab out of canvas memory. HEIC from Camera Roll is the usual surprise: some iOS versions hand the page a HEIC blob that this decoder will not open. Convert to JPEG first, then drop the JPEG here.

Peel is not a watermark remover, not a video pipeline, not a 200-SKU batch farm, and not a desktop studio. Fine hair against a busy hedge, wine glasses, bike spokes and white shirts on a white wall will look like a 320 px saliency net looking at them — because that is what they are. The threshold and feather controls recover a usable edge for a listing thumbnail. They will not replace a clipping path on a hero packshot.

The weights are Apache-2.0. We do not ship AGPL browser kits and we do not run BRIA RMBG checkpoints, which are non-commercial without a paid licence. That is a legal constraint, not a slogan.

How a peel actually runs

Drop or pick a file. The main thread decodes it, downscales if needed, and packs RGB into an NCHW float tensor with ImageNet mean and std. The worker loads the ONNX session (or reuses one) and returns a single-channel mask. We stretch that mask back to the source size, apply a threshold you can move, optionally blur by one or two pixels, then write alpha (or composite a solid colour underneath). Download is a PNG blob from the canvas. Share on iOS uses the Web Share API when the browser allows file shares; otherwise it falls back to a download.

None of those steps require an account. Closing the tab drops the bitmaps. Ads, if and when this site is approved to show them, measure page views. They do not receive the photograph.

Quick answers

Does Peel upload my photo?

No. Decoding, inference and PNG encoding all run in this tab. The only network request Peel makes for the tool is the one-time download of the 4.7 MB U²-NetP model from this same site — that file is the model, not your picture.

Why is the first peel slower?

The first visit fetches u2netp.onnx (~4.7 MB) and the ONNX Runtime WebAssembly engine, then stores them in Cache Storage. Later peels reuse that cache and usually start in a second or two on a laptop.

Can I export a transparent PNG?

Yes. Transparent is the default. JPEG cannot store an alpha channel, so Peel always writes PNG when you want see-through pixels.

What about a white studio backdrop?

Switch to Solid, keep #FFFFFF, then download. Marketplace listings that reject transparent files want this path, not a checkerboard screenshot. A real photograph as the plate is a different job: /backdrop.

Does it work on iPhone Safari?

Yes. iOS is a first-class path. Camera-roll HEIC is the common miss: Safari sometimes hands the tool a HEIC blob Peel cannot decode. Convert to JPG first, then drop the JPG here.

Is there a watermark or daily quota?

No watermark, no account, no credit counter. The only ceiling is device memory. Very large phone panoramas can fail; resize and retry.