Original
Dimensions-
File size-
Tool / Images
Use Kitly to make image backgrounds transparent for product shots, profile images, documents, and web assets. Pixels are processed in the browser; the first model-based run can download third-party model files.
Select an image file to begin.
Dimensions-
File size-
Dimensions-
File size-
OutputPNG
This opens an email to Kitly. Nothing is sent until you send the message from your email app.
Do not include passwords, file names, file contents, pasted JSON, destination URLs, QR contents, short codes, or other secrets.
A clean source image gives the segmentation model the best chance of separating the subject from its surroundings.
Select a photo where the main subject is visible and reasonably distinct from the background.
Start background removal and keep the page open while the local model identifies the foreground. The first run may take longer while browser resources load.
Check hair, transparent objects, shadows, and fine details in the preview before downloading the transparent PNG.
These examples compare model segmentation with the color-and-edge fallback on two original drawings: a red square on white, and a red ring whose center is an enclosed white hole. Read the method line on the page. The downloads below are the two paths saved separately.
Background removal needs JavaScript so the browser can run the segmentation model or the local fallback. The first model use can download model files. The measured pixels, method choices, and troubleshooting below stay readable without JavaScript. Your image is still processed in the browser.
Both inputs are synthetic fixtures on a white field. They are not portraits. Pixel values are from the reopened PNG. Headless Chrome 154.0.8037.99 on macOS. The model call is @imgly/background-removal 1.7.0 removeBackground() with its defaults, the same call the page uses. The fallback is the page’s color-and-edge pass with softness 22 and no extra samples. There is no brush control.
The model kept the square’s color and left a soft white fringe. The fallback cleared the outer white completely and reduced the square’s edge to alpha 85.
simple-square.png · 40 × 40 · 133 bytes
White field. Red square (220, 32, 32) from x 12–27 and y 12–27. | Model | @imgly/background-removal 1.7.0, default removeBackground() |
|---|---|
| Fallback | Connected edge-color mask, softness 22, no extra samples |
| Browser | Headless Chrome 154.0.8037.99 |
| Model elapsed time | 11812 ms, including the first-use model fetch in this session |
Model PNG · 40 × 40 · 536 bytes
Corner (0, 0): 255, 255, 255, 1
Just outside the square (11, 20): 255, 255, 255, 77
Square edge (12, 20): 220, 32, 32, 254
Center (20, 20): 220, 32, 32, 254
Fallback PNG · 40 × 40 · 247 bytes
Corner (0, 0): 0, 0, 0, 0
Just outside (11, 20): 0, 0, 0, 0
Square edge (12, 20): 219, 33, 33, 85
Center (20, 20): 220, 32, 32, 255 On a simple subject the model is the closer cut: the edge stays 220, 32, 32 at alpha 254, almost opaque. It does not finish at alpha 0. One pixel outside the square is still white at alpha 77, and the corner is white at alpha 1. The fallback deletes the connected white field, including that outside pixel, but feathers the square’s edge down to alpha 85 and shifts it to 219, 33, 33. The center stays exact. The page would label a successful model call “Model segmentation was used.” There is no brush to paint the fringe back.
The difficult subject is a red ring around an enclosed white center. The model removed that hole. The fallback removed only white that touches the outer edge, so the hole stayed opaque.
difficult-ring.png · 48 × 48 · 245 bytes
White field. Red ring (220, 32, 32) where the distance from the center is between 8 and 16 pixels. The middle is enclosed white. | Model | @imgly/background-removal 1.7.0, default removeBackground() |
|---|---|
| Fallback | Edge-connected color mask only |
| Browser | Headless Chrome 154.0.8037.99 |
| Model elapsed time | 7118 ms in the same session, after the square |
Model PNG · 48 × 48 · 1340 bytes
Corner (0, 0): 255, 255, 255, 1
Hole (24, 24): 0, 0, 0, 0
Ring (24, 12): 220, 32, 32, 254
Outer ring pixel (24, 8): 220, 32, 32, 254
Fallback PNG · 48 × 48 · 611 bytes
Corner (0, 0): 0, 0, 0, 0
Hole (24, 24): 255, 255, 255, 255
Ring (24, 12): 220, 32, 32, 255
Outer ring pixel (24, 8): 219, 33, 33, 85 The hole is the check that matters. The model’s center pixel is transparent. The fallback’s center pixel is still opaque white, because that white does not touch the image border and the mask never reaches it. The fallback also feathers the outer ring pixel to alpha 85. The model keeps that same pixel at alpha 254. Use the method line: if it says the color-edge fallback ran, expect enclosed background-colored holes to survive. This page has no manual brush to punch the hole out afterward.
The how-to already says to start from a clear image and inspect edges. These choices follow the two measured paths. Neither path adds a brush.
Use when: The result line says “Model segmentation was used.” On the square, the subject edge stayed at alpha 254. On the ring, the enclosed hole became transparent.
Trade-offs: Edges can keep a white fringe. The square’s outside pixel was alpha 77, and both corners were white at alpha 1. The first call in this session took 11812 ms and can download model files. Pixels stay in the browser.
Use when: The result line says the model was unavailable and the color-edge fallback was used. It cleared the outer white on both fixtures.
Trade-offs: It is a narrower result. The square’s edge dropped to alpha 85. The ring’s enclosed hole stayed 255, 255, 255, 255. Similar foreground colors can be removed when they connect to the edge; that case was not given its own fixture here.
Use when: You are deciding whether this page can finish a cutout by itself.
Trade-offs: It cannot. There is no erase or restore brush. If the fringe or the leftover hole is unacceptable, edit the PNG somewhere else.
A clean preview in the middle of the subject is not enough. These are the pixels that failed or only partly succeeded in this session.
Likely cause: The model left white at alpha 1 on both fixtures’ corner pixels. A checkerboard can make that look clear.
What to do: Open the PNG and read the corner alpha. If you need a strict empty corner, the fallback files in this test were 0, 0, 0, 0 there, with the edge trade-off below.
Likely cause: On the square, the model’s pixel (11, 20) was white at alpha 77.
What to do: Preview the PNG on both a light and a dark background. The page cannot brush that fringe away.
Likely cause: The fallback feathered it. The square’s edge moved from 220, 32, 32, 255 to 219, 33, 33, 85. The ring’s outer pixel did the same.
What to do: If the method line names the fallback, treat the cut as good mainly for a simple uniform background. Run again when the model can load if you need the higher edge alpha seen in the model files.
Likely cause: The fallback only walks in from the image border. The ring’s center does not touch that border, so it stayed opaque white. The model’s center pixel was transparent.
What to do: Check the method line. Enclosed holes are the difficult case on this page. There is no brush to delete the leftover white.
Likely cause: The model may download on first use. This session’s first successful model call took 11812 ms. The next call, on the ring, took 7118 ms.
What to do: Keep the tab open. The note above the preview says the image itself stays in the browser. If the model cannot load, the page switches to the fallback and says so.
Likely cause: The control is a single remove action. Restoration is not implemented.
What to do: Download the PNG and edit the edge in another program, or choose a source with a clearer outline.
Pixel values come from the linked PNGs. The library link documents the model the page imports.
The selected image stays on your device. The first model-based run can download ONNX and WebAssembly resources from IMG.LY. If that fails, a narrower color-edge fallback runs and is labeled on the page.
The model path works best when the subject is visually distinct from the background. The fallback is suitable mainly for simple uniform backgrounds and can remove similar foreground colors.
Model segmentation handles many complex backgrounds better than the color-edge fallback, but busy scenes, hair, glass, and enclosed holes can still fail. There is no manual restore brush.
Read the line under the file summary. “Model segmentation was used.” means the @imgly/background-removal call succeeded. The other line says the color-edge fallback ran because the model was unavailable. The square and ring fixtures above show both outputs.
No. There is no manual erase or restore brush. On the measured ring, only the model cleared the enclosed white hole; the fallback left that pixel opaque white.