Skip to content

remove.ac · Independent guide

Batch transparent PNG cutouts in your browser without uploading files

How on-device WebAssembly batch processing handles up to 50 images per ZIP, memory limits on desktop and mobile, and how to verify zero uploads in DevTools.

Published · Sources checked · 阅读中文版

Independent technical guide from remove.ac explaining how in-browser WebAssembly batch cutouts work, where hardware boundaries sit, and how to verify zero image uploads yourself.

Whether you are cleaning 40 unreleased e-commerce SKU photos under NDA, preparing internal slide assets, or stripping backgrounds from personal photos, uploading raw files to a third-party cloud queue is often unnecessary.

1. What happens inside the browser tab

When you open remove.ac in on-device mode, your browser downloads an approximately 78.2 MiB (82 MB) FP16 BiRefNet-Lite neural network and the ONNX Runtime Web (WebAssembly) execution engine from model.remove.ac on first run, caching it in standard browser storage for subsequent visits. Because that initial fetch requires network access, offline execution on a fresh browser profile is not guaranteed.

Once loaded, each image in your batch (JPG, PNG or WebP, up to 20 MB and 32 megapixels / 12,000 px max side) is decoded locally: WebAssembly computes a 1024×1024 alpha matte, a guided filter refines hair and object boundaries against your full-resolution original pixels, and the finished cutouts are packaged into a single .zip archive in browser memory—up to 50 images per batch.

2. Desktop vs. mobile Safari memory limits

On Chromium, Firefox and Edge desktop browsers, /upload and /batch run under Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy (credentialless) isolation so WebAssembly can use SharedArrayBuffer multi-threading. Mobile Safari and iOS WebKit enforce strict per-tab memory ceilings and fall back to single-threaded WASM; remove.ac explicitly caps retained full-resolution editor documents (4 items / 128 MiB encoded) and zeroes HTMLCanvasElement backing stores on unmount to prevent tab crashes.

  • Up to 50 images per ZIP on desktop browsers; split 24–32 MP camera originals into batches of 15–25 on iOS phones.
  • Click any item in a completed batch to send it into the single-image studio for interactive Select subject (up to 25 MP) or manual Erase and Restore brush cleanup (12 Undo/Redo steps).
  • If a corrupted file or memory limit stops a local job, remove.ac reports the error locally and never uploads the file to Cloud GPU unless you sign in and switch modes yourself.

3. How to audit the zero-upload guarantee in 60 seconds

  1. Open https://remove.ac/batch (or /upload) and press F12 / Cmd+Option+I to open Browser DevTools -> Network.
  2. Run one sample image first if your cache is cold so the ~78.2 MiB model download finishes, then click the Clear network log icon.
  3. Drop 5–50 local JPG/PNG/WebP files into the batch queue, wait for processing to finish, and click Download ZIP.
  4. Inspect the Network log: you should see zero POST or PUT requests carrying image bytes, filenames or thumbnails to remove.ac or any third-party host.

Start a local batch or single cutout

Drop up to 50 images directly into the local batch workspace, or open a single file in the on-device studio editor to use background replacement and the Erase / Restore brush. For real-device p50/p95 timing percentiles across hardware tiers, see Benchmarks & Dataset.

Sources

Official provider documents and public datasets referenced in this guide. Provider policies, pricing and endpoints can change; check original pages before deploying.

Independent editorial material from remove.ac. This page does not announce a partnership, endorsement or official-successor relationship with the providers mentioned.