IOhMyIcon

Background Remover

Remove the background from any photo entirely in your browser using an on-device AI model. Outputs a transparent PNG. No upload, no signup.

Why I built this

In March 2026 I was preparing product photos for my partner's small jewelry shop on 네이버 스마트스토어. Each piece needed to be cut out from the white-cardboard backdrop and placed onto a clean transparent background for the product page. We had 120 items to photograph. remove.bg charges per image after the first free credit — roughly $0.20 each at the lowest tier, or $24 just to process our inventory. Canva's background remover is bundled with their $13/mo Pro plan. Photoshop's "Select Subject" is excellent but requires a $20/mo Creative Cloud subscription.

None of these felt right for a side hustle. We needed background removal at scale, ideally locally so we did not have to upload product photos (which can leak design details before launch). The options were all "pay per image" or "pay per month for a full suite I do not need" — there was no zero-cost option for 100+ images of moderate quality.

Then I discovered @imgly/background-removal, an open-source library that ships a U²-Net-derived segmentation model compiled to ONNX-WASM. The model is small enough (~10 MB compressed) to download on demand and run in any modern browser. Inference takes a few seconds per image on a laptop CPU. Three rules went into this tool: (1) the image never leaves your browser, (2) zero per-image cost, ever, (3) result is a clean transparent PNG with no watermark.

How it works under the hood

When you drop an image, the browser reads it into an Image element and renders it onto an HTMLCanvasElement to extract raw pixel data (RGB values for every pixel). The pixel data is sent to a Web Worker running @imgly/background-removal — running in a worker keeps the main UI thread responsive during the multi-second inference.

Inside the worker, the model is an ONNX-formatted neural network compiled to WebAssembly. The architecture is a derivative of U²-Net, a salient object detection network published in 2020 that became the basis for many "remove background" products. The network takes a 320×320 normalized image as input, performs ~100 million floating- point operations, and outputs a per-pixel "foreground" probability map. We then upscale that mask to match the original image resolution and apply it as the alpha channel of the output PNG.

The first time you use the tool, the model file (~10 MB) downloads from a CDN and the ONNX runtime is initialized. The download is cached aggressively by your browser, so repeat visits skip it. Inference itself is bottlenecked by CPU — SIMD-enabled JavaScript runs roughly 4× faster than scalar code, which is why modern browsers (Chrome 91+, Firefox 89+, Safari 16+) feel notably snappier than older ones.

Verify yourself: open DevTools → Network. On first use, you see the model file download (one time). Clear the log, process a second image, and the list stays empty. Your image bytes never appear in any outgoing request. This is the proof that hosted competitors (remove.bg, Canva, Photoroom) physically cannot offer because their model runs on their server.

Real use cases

  • 네이버 스마트스토어 / 쿠팡 product photos: Korean e-commerce marketplaces demand white-background product shots. Photograph against any background, remove it in seconds, place on white in your editor. Saves hundreds of dollars vs hiring a photo retoucher.
  • 당근마켓 / Carrot Market resale listings: Clean cutouts of items (used clothing, electronics, furniture) sell faster than cluttered backgrounds. Strip the messy room background and just show the item.
  • Profile pictures for LinkedIn, Twitter, GitHub: Remove the cafe or office background from a casual selfie, replace with a flat color for a polished professional headshot.
  • Creating PNG icons and stickers: Photograph a real object, remove background, get a transparent PNG ready for use in presentations, design mockups, or social media graphics.
  • Privacy-respecting family photos: Sharing a photo of your kid for a family 단톡방 but the background reveals your home interior or school location? Strip the background, paste them onto a neutral color.

vs other background removers

How OhMyIcon Background Remover compares to popular alternatives as of May 2026:

FeatureOhMyIconremove.bgCanvaPhotoroom
Free tierUnlimited1 free credit, then paidPro plan $13/moLimited free
No upload to serverYesNoNoNo
No signup requiredYesYes (for free credit)Canva accountAccount required
Edge quality on hair/furGoodExcellent (best in class)GoodVery good
Output resolutionFull sourceWatermarked at fullFullFull
Batch processingNoPaid APIYesYes
Works offline (after first load)YesNoNoNo
Source code inspectableYes (open source model)NoNoNo

Where competitors win: remove.bg's server-side model is genuinely state of the art on hair, fur, and semi-transparent edges — for glamour photography or e-commerce hero shots where edge quality is critical, they deliver visibly better cutouts. Canva and Photoroom integrate background removal into full editing workflows (place subject on new background, add text, export to multiple formats) which our tool does not. For quick high-volume work on standard subjects, our tool delivers 90% of the quality at 0% of the cost.

What this can't do

  • Perfect hair and fur edges. The 10 MB model is good but not as good as remove.bg's 200 MB server model. Manual cleanup in any editor (Photopea, Pixlr) handles the last 10% if it matters.
  • Replace background with another image automatically. Output is a transparent PNG — you composite onto a new background in any image editor.
  • Batch processing. One image at a time. For 100+ photos, remove.bg API or a desktop tool with batch (Topaz Photo AI, Photoshop actions) is more efficient.
  • Refine edges interactively. No "brush in/out" mode. The model decides the foreground mask in one pass.
  • Process images over 25 MB. Browser memory limits.

For batch production work, remove.bg API ($0.20/image or $99/mo for 500 images) is the practical pick. For interactive precision, Photoshop's "Select Subject" plus manual refinement remains unmatched.

Tips for best results

Higher resolution input gives better edges. The model upscales its mask to the source resolution, so a 4000px-wide photo produces sharper edges than the same scene at 800px. If you have a high-res original, use it.

Maximize contrast between subject and background. A black product against a dark gray sofa is the worst case. A white product against a black wall is the best case. If you control the shoot, use simple solid-color backdrops opposite your subject's dominant color.

Even, soft lighting works best. Hard shadows around the subject confuse the model because shadow edges can be misread as subject edges. Diffuse light (or just an overcast day for outdoor shots) produces cleaner results.

Avoid motion blur. Crisp edges in the source matter more than megapixel count. A sharp 1500px photo beats a blurry 4000px photo every time.

Manually clean up for commercial use. Open the output PNG in Photopea (free, browser-based) and use the eraser to clean up residual artifacts. Two minutes of touch-up turns "good" into "great."

FAQ

How is this free with no signup? The AI model (@imgly/background-removal) is open-source and runs entirely in your browser via WebAssembly. There is no server bill to pay because there is no server doing inference — your CPU does the work. There is also nothing to charge for: we cannot meter usage we never see. OhMyIcon monetizes through small display ads on the page, not by limiting your background removals. You can run 1,000 images today and 1,000 more tomorrow without ever creating an account.

Why is the first run slow? The first time you remove a background, the AI model (~10 MB compressed, ~40 MB uncompressed in memory) downloads from a CDN and initializes inside a Web Worker. After that initial setup — usually 5-15 seconds depending on your connection — subsequent runs in the same browser session are 3-5× faster because the model stays loaded in worker memory and the WASM runtime is warm. Closing the tab and reopening triggers a partial reload because the model leaves RAM, but the network download is cached so it is faster than the very first run.

How accurate is it compared to remove.bg? Quality is very close for portraits, products, pets, and other clean subjects. remove.bg has a slight edge on fine details (individual hair strands, fur edges, semi-transparent objects) because they run a much larger model on their servers — they can afford to ship a 200 MB neural network because it never reaches your browser. Our 10 MB model is a smart compromise: 90% of remove.bg quality at zero cost. For most use cases (product photos, social posts, profile pictures, 당근마켓 listings) the in-browser model is indistinguishable. For glamour photography with flyaway hair, remove.bg or Photoshop's "Select Subject" still win.

Does my image leave my browser? No. The image is read into memory via URL.createObjectURL, passed to the Web Worker running @imgly/background-removal, processed by an ONNX-WASM neural network running on your CPU, and the result is returned to the main thread as a PNG blob. Zero network calls during processing. Verify by opening DevTools → Network tab, clear the log, then click Remove Background — the list stays empty. The only network activity is the one-time model download on first use, which is cached for future visits.

How long does processing take? On a modern laptop (M1 Mac, recent Intel/AMD): 3-8 seconds per image after the model is loaded. On a 4-year-old laptop: 10-20 seconds. On a phone: 20-40 seconds. Image resolution matters more than CPU speed — a 4000×3000 photo takes ~3× longer than a 1000×750 photo. The model itself does a fixed amount of work per pixel, so downscaling before processing dramatically speeds things up. If you need a quick preview, resize the image first.

Will it work on complex backgrounds? Mostly yes, but accuracy drops with complexity. Subjects against simple solid or blurred backgrounds (product on white, person against bokeh) work near-perfectly. Subjects against busy backgrounds (a person in a crowd, a product on a patterned tablecloth) get more imperfect edges. Edge cases that struggle: glass and transparent objects, very fine hair against similar-colored backgrounds, objects whose color matches the background. For mission-critical work, do a quick touch-up in any photo editor — the AI gets you 90% there.

Why is the output a PNG and not WebP? Transparency. PNG is the most widely-supported format with full alpha channel support. WebP supports transparency too but with slightly less universal compatibility (some image viewers and ancient browsers do not render transparent WebP correctly). PNG is the safe default. Once you have the transparent PNG, you can convert it to WebP using our Image Compressor — that step typically cuts 50-70% off file size without losing transparency.

Why would I use this instead of remove.bg or Canva? Three reasons: privacy (your image never leaves your browser; remove.bg requires upload), unlimited use (remove.bg gives you 1 free credit per signup, then $9/mo for ~40 images; we have no limits), and offline capability (after first model download, this tool works on airplane WiFi or in countries with restricted internet). The remove.bg quality edge is real but small. For 95% of typical "remove background from product photo or profile picture" tasks, our tool delivers indistinguishable results at zero cost.

My result has rough edges around the subject — what should I do? Three quick fixes. First, try a higher-resolution source — the model has more detail to work with at 2000px+ than at 500px. Second, increase contrast between subject and background before processing if the original image is washed out. Third, accept that AI edge detection is imperfect on certain materials (hair, fur, lace) and do a 30-second manual cleanup in any image editor — even a free tool like Photopea or Pixlr can smooth edges with the eraser tool. For critical commercial work, remove.bg or Photoshop's "Select Subject" handle hair better.

Can it handle multiple subjects in one photo? It tries. The model is trained to identify "foreground" as a unified region, so two people standing close together are usually treated as one combined subject. Subjects far apart (a person on the left, a dog on the right) sometimes both get isolated, sometimes only the larger one. For predictable multi-subject results, crop each subject separately and process individually. The model also does not understand object hierarchy — a person holding a bag will keep both, which is usually what you want.

You might also like

Part of the OhMy* tools family