U²-NetP (u2netp) background removal#

Lightweight U²-Net variant for faster CPU inference.

Run it: rembg i -m u2netp input.jpg output.png setup

u2netp results on 60 images

Original, cutout and alpha matte for every Bench v0 image, with its MAE and MGE against the ground truth. Each opens the side-by-side comparison.

(26)

OriginalCutoutAlpha matte

How to run u2netp

u2netp ships with rembg as the session u2netp. The weights download on first use.

Command line

pip install "rembg[cpu,cli]"
rembg i -m u2netp input.jpg output.png

Python

from rembg import new_session, remove
from PIL import Image

session = new_session("u2netp")  # load once, reuse for every image
output = remove(Image.open("input.jpg"), session=session)
output.save("output.png")

Other sessions: all rembg models.

U²-NetP as a free, open-source remove.bg alternative

remove.bg is a paid cloud service. U²-NetP is open weights under Apache-2.0, so commercial use is allowed. It runs on your own machine (rembg i -m u2netp input.jpg output.png), offline, with no upload and no per-image cost. On Bench v0 it ranks #14 of 14 by accuracy (MAE); withoutBG Open Weights ranks #3.

remove.bg is not in Bench v0, so there is no score against it. See withoutBG Open Weights and remove.bg side by side, or compare all remove.bg alternatives.

Quick take

  • Best for: CPU / edge / batch speed when quality can be slightly lower
  • Avoid when: Fine hair, thin structures, or catalog-critical edges
  • Notes: Available as rembg session `u2netp`.

When a hosted model is worth it

u2netp is free and runs on your machine; keep it if the results above are good enough. If you need finer hair and edges, or don't want to run large models locally, rembg also ships the withoutBG Pro Model as the withoutbg session, ranked #1 of 14 by accuracy on Bench v0. Images are sent to withoutBG's servers.

Same command, hosted model

export WITHOUTBG_API_KEY=sk_...
rembg i -m withoutbg input.jpg output.png

Sign up for 50 free credits (no credit card) or See its results.