Tool / Images

Image Background Remover

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.

Original

Original

Dimensions-

File size-

Transparent

Transparent

Dimensions-

File size-

OutputPNG

How to remove an image background

A clean source image gives the segmentation model the best chance of separating the subject from its surroundings.

  1. Choose a clear image

    Select a photo where the main subject is visible and reasonably distinct from the background.

  2. Let the browser process it

    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.

  3. Inspect the edges

    Check hair, transparent objects, shadows, and fine details in the preview before downloading the transparent PNG.

How to get a cleaner cutout

  • Use a well-lit image with strong contrast between the subject and background.
  • Crop away unrelated objects before processing so the main subject occupies more of the frame.
  • Inspect the result over both light and dark backgrounds before using it in a final design.

Where automatic removal can struggle

  • Hair, fur, glass, smoke, motion blur, and backgrounds similar to the subject can produce imperfect edges.
  • The tool creates an automatic first pass and does not yet include a manual erase or restore brush.
  • Transparent PNG files can be larger than compressed JPEG or WebP files even after the background is removed.

Practical guidance

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.

Measured cutouts

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.

A red square on white: model fringe versus fallback feather

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.

Input

simple-square.png · 40 × 40 · 133 bytes
White field. Red square (220, 32, 32) from x 12–27 and y 12–27.
Settings
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

Reopened pixels

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

What to check

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.

Caveats

  • The tool downloads one file, named simple-square-transparent.png, and shows which method ran. The example files are split into simple-square-model.png and simple-square-fallback.png.
  • 11812 ms is this headless session’s first model call, not a promise for every visit. The model files may already be cached.
  • A checkerboard preview can hide an alpha of 1 or 77. Sample the corner and the pixel just outside the subject.

Example files

A red ring: the model clears the hole, the fallback leaves it white

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.

Input

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.
Settings
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

Reopened pixels

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

What to check

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.

Caveats

  • This ring is a drawing with a hard edge. It does not measure hair, glass, or fur.
  • The second model call was faster in this session. That does not separate download time from inference for every user.
  • The tool’s single download would be named difficult-ring-transparent.png. The examples keep the model and fallback files apart.

Example files

Trust the method line, then inspect the edge

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.

Model segmentation

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.

Color-and-edge fallback

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.

No manual brush

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.

What to check after the method line

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.

Problem: The corner is almost transparent, but not alpha 0.

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.

Problem: A halo sits just outside the subject.

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.

Problem: The subject’s edge looks thin or gray.

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.

Problem: A hole inside the subject stayed white.

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.

Problem: The first run sits on “Removing…” for a long time.

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.

Problem: You expected a brush and there is not one.

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.

References for the two paths

Pixel values come from the linked PNGs. The library link documents the model the page imports.

Frequently asked questions

Does the background remover upload my image?

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.

What kinds of backgrounds work best?

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.

Can it remove complex photo backgrounds automatically?

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.

How do I know whether the model or the fallback ran?

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.

Can I paint back an edge or a hole the tool removed?

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.