Free, client-side background removal powered by AI. Runs entirely in your browser — no uploads, no servers, no cost.
- 100% Private — images never leave your device
- AI-Powered — ISNet segmentation model via @imgly/background-removal
- Fast — WebGPU acceleration with WASM fallback
- Free — no sign-ups, no limits, no watermarks
- Before/After Slider — compare results instantly
- Download as PNG — transparent background, full resolution
- Drop an image (PNG, JPG, WebP)
- AI model processes it locally in your browser
- Compare with the before/after slider
- Download the result as a transparent PNG
The model (~40MB) downloads on first use and is cached for subsequent visits.
- Vite — dev server & bundler
- @imgly/background-removal — ONNX/WASM-based segmentation (Apache 2.0)
- Vanilla JS — no framework, minimal dependencies
npm install
npm run devThe app runs at http://localhost:5180. First load will download the AI model.
npm run buildOutputs to dist/. Requires these response headers on your hosting:
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: credentialless
These enable SharedArrayBuffer for multi-threaded WASM processing.
bgremover/
index.html # Landing page (garrik.design/bgremover)
app/
index.html # App (garrik.design/bgremover/app)
src/
main.js # App logic
style.css # Styles
vite.config.js # Vite config (root: app, base: /bgremover/app/)
package.json
Works on any static host that supports custom headers. Free options:
- Cloudflare Pages — add a
_headersfile - Netlify — configure in
netlify.toml - Vercel — configure in
vercel.json
MIT
Built by garrik.design