Background Remover
Strip image backgrounds with BiRefNet running locally in your browser. PNG with alpha or solid color replacement.
published
- [FREE]
- [NO_SIGNUP]
- [NO_UPLOAD]
A background remover isolates the subject of a photo and removes the rest. This tool runs the BiRefNet neural network inside your browser via @imgly/background-removal — no upload, no API key, no per-image cost.
How it works
- You drop an image into the tool.
- The first time, @imgly/background-removal downloads the BiRefNet model (~30 MB) from the imgly CDN. Cached after that.
- The image is decoded by the browser via createImageBitmap, fed into ONNX Runtime Web, and passed through the BiRefNet segmentation network.
- The model outputs an alpha mask predicting which pixels are subject vs background.
- The browser composites the original image with the predicted alpha and either outputs a transparent PNG or flattens against your chosen background color.
The whole pipeline runs in your browser tab. Open DevTools → Network and watch: model download once, image inference never makes a request with your photo.
When it works well
- Product photos — clear subject, white or simple background.
- Portraits — well-lit faces, separable from background (cluttered restaurants are harder).
- Animals — fur edges are usually clean unless they blend into the background.
- Logos / mockups — vector-like subjects with hard edges.
When it struggles
- Fine hair detail — wisps and strands often disappear or get halos. BiRefNet handles this well but not perfectly.
- Translucent objects — glass, water, smoke don’t have a binary mask.
- Motion blur — the model expects sharp subject edges.
- Low-contrast pairs — white shirt on white wall, black cat on black sofa.
- Reflections — the model treats reflections as background and removes them.
If a result looks bad, try cropping tighter to the subject before processing.
Privacy
Static HTML page → small JavaScript bundle → @imgly/background-removal library → ONNX Runtime Web → BiRefNet model — all running in your browser tab. The Network tab in DevTools shows what gets fetched: the bundle, the runtime, the model. Your image is never in those requests.
The model download contains zero personal data. It’s just the neural network weights, the same ones any other user of this library would download.
How it compares
| bytefork.tools | remove.bg | clipdrop.co | |
|---|---|---|---|
| Runs in browser | ✓ | ✗ (uploads) | ✗ (uploads) |
| Privacy: image stays local | ✓ | ✗ | ✗ |
| Sign-in required | ✗ | for HD output | for batches |
| Cost | free, unlimited | $0.20-$1.99/image (after 1 free) | subscription |
| Output resolution | source resolution (no cap) | 0.25 MP free; HD paid | 1 MP free; HD paid |
| Hair-detail accuracy | very good (BiRefNet) | excellent (proprietary) | very good |
| Translucent handling | limited | best-in-class | good |
| Ad-free | ✓ | ✓ | ✓ |
Tips
- Crop tight before uploading. Less background = better focus for the model.
- Use high-resolution sources. Output stays at the source resolution.
- For solid-color backgrounds, pick the Color mode and try different colors instantly — no re-processing needed.
- For batch jobs, keep the tab open between images. The model stays in memory after the first download.
Related tools
- Image Compressor — shrink the output PNG.
- Image Format Converter — convert the output to WebP for smaller files (preserves alpha).
- Image Size Converter — resize before/after background removal.
Frequently asked questions
How does this work without uploading my image?
It uses @imgly/background-removal, an open-source library that runs the BiRefNet segmentation neural network inside the browser via ONNX Runtime Web. The model weights (~30 MB) download once from imgly's CDN and stay cached. After that first download, every subsequent removal happens entirely in your browser tab — the image bytes never leave your device.
How accurate is it?
For clear subjects on contrasting backgrounds (product photos, portraits with separable hair, animals against sky), accuracy approaches commercial cloud services like remove.bg. For complex hair detail, transparent objects (glass, water), motion blur, or low-contrast subject/background pairs, results may show halos or missing edges. The model is BiRefNet — a 2024 state-of-the-art for browser-side segmentation but not magic.
Why does the first run take so long?
The first run triggers a ~30 MB download of the BiRefNet model from the imgly CDN. On a typical broadband connection that's 5–20 seconds; on slower connections, longer. After that, the model lives in your browser cache and the second run jumps straight to inference (2–10 seconds for a typical photo).
Does this support batch processing?
Not in this version — one image at a time. Batch is on the roadmap; for now, drop each image into the tool one by one.
What image formats are supported?
Input: PNG, JPG, WebP. Output: PNG with an alpha channel (transparent background) or PNG composited on a solid color you pick.
Why is the output always PNG?
PNG is the only widely-supported format that handles alpha transparency without artifacts. JPG has no alpha and would force you to flatten against a chosen color (which you can do explicitly via the Color mode). WebP supports alpha but support is uneven in older toolchains.
Can I use this commercially?
Yes — bytefork.tools is MIT-licensed; @imgly/background-removal is licensed AGPL/commercial dual. The model BiRefNet itself is academic / MIT-style. If you're processing customer-uploaded content for a B2B product, prefer a commercial license from imgly.
Compared with remove.bg — when should I use this?
Use this when privacy matters (your image never leaves your device), when you need to process many images without paying per credit, and when you're OK with browser-side accuracy. Use remove.bg when you need their tuned pro model for edge cases (very fine hair, complex translucent objects). For most everyday use, the difference is small enough that the privacy + zero-cost trade is the right one.
Why does this page show a "CSP relaxation" disclaimer?
ONNX Runtime Web — the inference engine that runs the background-removal neural network — JIT-compiles its tensor kernels using `new Function()`. That requires `unsafe-eval` in the page's Content Security Policy. Every other tool on bytefork.tools runs under a strict CSP that forbids `eval()` and `new Function()`. We scoped the relaxation to this one URL using a per-path `Content-Security-Policy` header in public/_headers — you can verify in DevTools → Network → response headers that the CSP only differs here. Practical risk is low because the site never accepts user-submitted scripts; the additional eval surface has no inputs to exploit. If you prefer not to run a page with `unsafe-eval`, skip this tool.
Is the tool really free?
Yes. No signup, no usage limit, no watermark, no ads. The model download is the only "cost" — and it's a one-time, no-data-leaked transfer.