Skip to content
epitometool

Background remover

Image tools

Remove image backgrounds in your browser with an on-device AI model — your photo never uploads.

Updated

Upload

Best results: a single subject with reasonable foreground/background contrast.

First run downloads the model (80 MB) from staticimgly.com. Subsequent runs are instant.

Quick start

How to remove an image background in your browser

Drop a photo, pick a model, click remove. The image stays on your device.

  1. Step 1
    Drop image

    Drag a JPG, PNG or WebP. Works best with a single, prominent subject.

  2. Step 2
    Pick a model

    Fast (40 MB) for previews, Balanced (80 MB) as the default, Best (160 MB) for hero shots. The model downloads once and is then cached.

  3. Step 3
    Remove + download

    Click Remove background. Get a PNG or WebP cutout with transparent background. The cutout is ready to composite or share.

In-depth guide

Background remover — local AI, no upload

An in-browser background remover powered by an open-source U²-Net / IS-Net segmentation model. Inference runs on your device via WebAssembly — your photo never leaves your browser. Only the model weights are downloaded once from the IMG.LY static CDN, then cached for offline use.

How local background removal works

The tool uses @imgly/background-removal, an open-source library that bundles an ONNX-format salient-object segmentation model and runs it through ONNX Runtime Web in your browser. The pipeline is:

  1. You drop an image — it's decoded into a pixel buffer.
  2. The model receives the pixels and predicts a soft alpha mask (0 = background, 1 = foreground) for every pixel.
  3. The mask is multiplied against the original RGBA to produce a cutout with transparent background.
  4. The result is encoded as PNG or WebP and returned as a Blob.

The model weights are downloaded once from staticimgly.com on first use and cached by the browser. After that, the tool works offline.

Fast, Balanced or Best — which model to pick

Three variants of the same architecture are available, representing different size / accuracy trade-offs:

  • Fast (isnet_quint8) — 8-bit quantized, ~40 MB download. Inference under 3 s on modern hardware. Slight precision loss visible on fine edges (hair, fur). Best choice for previews or low-bandwidth users.
  • Balanced (isnet_fp16) — half-precision floats, ~80 MB. The recommended default. 5–10 s inference, good edge quality.
  • Best (isnet) — full-precision floats, ~160 MB. 10–30 s inference. Use when the cutout will be composited into a high-stakes context (hero image, product shot, retoucher's reference).

Practical tips

  • Single, prominent subject. The model picks the most visually salient subject. Multi-subject photos give unpredictable results.
  • Decent foreground/background contrast. A black cat on a black sofa is going to test the model. A black cat on a tan rug works great.
  • Expect to clean up hair and fur. No salient-object model gets fly-away hair perfect. Plan to do final cleanup in an image editor for hero work.
  • PNG vs WebP for the output. Both preserve transparency. PNG is universally compatible but ~2× the size. WebP is supported in all current browsers and most modern design software (Figma, Photoshop 2023+, Affinity).

Privacy and trust

Two distinct network calls happen, and only one of them carries any data about you:

  1. Model fetch — your browser downloads the ONNX file from staticimgly.com. The CDN sees your IP and the requested file name. It does not see your image.
  2. Image processing — happens entirely on your device. No fetch, no upload, no telemetry.

The privacy page lists this disclosure in the External Services section.

When to use it vs alternatives

Use this tool for quick image cleanup, conversion, resizing, OCR, or export work where a browser-local workflow is enough. Use a dedicated editor when you need layered retouching, colour-managed print proofing, or scripted batch production.

Common pitfalls

  • Start from the highest-quality original you have; repeated lossy exports can soften edges and text.
  • Some output formats do not preserve transparency, animation, colour profiles, or metadata.
  • Very large photos can hit browser memory limits; reduce dimensions first if processing stalls.

Frequently asked questions

Is my image uploaded to a server?

No. Background removal runs entirely in your browser using ONNX Runtime Web (WebAssembly). Your photo is decoded in-memory and inference runs on your device's CPU. The only network call is a one-time download of the segmentation model weights from the IMG.LY static CDN — after that visit the model is cached and works offline.

Then what does the IMG.LY CDN see?

Only your IP address and the HTTP request for the model file (the URL is something like https://staticimgly.com/@imgly/background-removal-data/.../isnet_quint8.onnx). The CDN does not see your image. The transfer is one-way: file download, no telemetry payload.

How big is the model and why does the first run feel slow?

The Fast model is ~40 MB, Balanced ~80 MB, Best ~160 MB. The first run after page load has to download (and warm up) the model. Subsequent runs reuse the in-memory copy and complete in 3–10 seconds for typical phone photos.

Which model should I pick?

Start with Balanced — it's the right trade-off for portrait, product and pet photos. Pick Fast if you want a quick preview or you're on a slow connection. Pick Best for hair, fur, glass or transparent edges where the cutout will be inspected closely.

What images does this work well on?

Single-subject photos with reasonable foreground/background contrast: portraits, product shots, pets, food, plants. The model is U²-Net-style salient-object segmentation, so it picks the most visually prominent subject and removes everything else.

What does it struggle with?

Complex multi-subject scenes (the model picks one foreground), thin hair detail, motion blur, transparent / glassy surfaces, and busy backgrounds where foreground and background share colors. For those, expect to clean up edges in an image editor afterward.

Why is the output PNG so much bigger than the input JPEG?

PNG is lossless and must encode the alpha channel (transparency). A 200 KB JPG portrait often becomes a 2-3 MB PNG. WebP output is supported as an alternative — it keeps alpha but is roughly half the size of PNG at visually similar quality.

Does this support batch processing?

Not yet. Each call holds the model in memory; running multiple in parallel would spike RAM use on low-end devices. Drop one image at a time; the in-memory model warm-up only happens once per page load so subsequent images are fast.

Will it work on mobile?

Modern iOS / Android browsers support WebAssembly + SIMD, so yes — but performance depends on the device. Iphone 12 / Pixel 6 and newer handle Balanced model in under 10 s. Older mid-range phones may run out of memory on the Best model; pick Fast there.

Keep exploring

More tools you'll like

Hand-picked utilities that pair well with the one you're on — all free, client-side, and zero-signup.