Best Free Background Remover
Isolate the subject of a photo and get it back on a transparent background — one model, on our own server, free.
How it works
- Add your photo. Pick an image where the subject stands out from the background (up to 12 MB).
- Cut it out. Press Remove background and the segmentation model masks everything except the subject.
- Save the PNG. Download a transparent-background PNG you can drop onto any colour, photo or layout.
About this tool
Drop in a photo and this tool isolates the main subject — a person, a product, a pet — and returns it on a fully transparent background as a PNG. There are no sliders to fuss over and no model menu to pick from: one well-tuned segmentation model does the work on our own server, in memory, and hands the result straight back. The honest catch is the edges — a crisp subject against a contrasting background lifts out cleanly, while flyaway hair or a subject that melts into a busy scene is where any automatic cutout has to guess. Once you have the transparent PNG you can layer it over a new backdrop, place it in a design, or run it through the Image Resizer or Image Compressor here to finish the asset.
What people use it for
- Place a product on a clean transparent background for a listing
- Lift a person or pet out of a snapshot for a card or collage
- Turn a casual photo into a crisp profile or avatar image
- Free an object or sign from its background before dropping it into a design
Developer API
Automate this tool from your own code. Send a POST request to the endpoint below and get the same result the web tool produces. It is rate-limited per IP and needs no signup — API keys for higher limits are coming.
https://best.free/api/tools/background-remover/
| Parameter | Example | Required | Notes |
|---|---|---|---|
file (file) |
portrait.jpg |
Yes | JPG/PNG/WebP, ≤12 MB (auto-downscaled past ~2000px). |
curl -X POST https://best.free/api/tools/background-remover/ \
-F 'file=@portrait.jpg' \
-o no-background.png
import requests
files = {"file": open("portrait.jpg", "rb")}
r = requests.post("https://best.free/api/tools/background-remover/", files=files)
with open("no-background.png", "wb") as out:
out.write(r.content)
const fd = new FormData();
fd.append("file", fileInput.files[0]);
const r = await fetch("https://best.free/api/tools/background-remover/", { method: "POST", body: fd });
const blob = await r.blob(); // the no-background.png
Response: A transparent PNG with the background removed.