Advertisement

Free local tool

Remove or replace an object with a mask you control

Guide the pinned interactive selector, inspect the mask, then choose the quality LaMa path or an honestly limited local fill. AI mask selection can fetch ~17.2 MB on first use and cache it; the separate ~200 MB LaMa model remains consent-gated. Replacement cut-out approval is separate again: pinned BiRefNet fetches ~99 MB on WebGPU or up to ~192 MB on CPU. Decline accepts a meaningful already-transparent asset without that request.

Your image stays on this device. Nothing starts until you choose a file.

Result proof

Every changed pixel has a reviewed reason

01

Input

Source + non-empty mask

02

Local pass

Bounded removal + optional layer

03

Result

Full-resolution PNG

How to verify it: Inspect the accepted mask, the method label, and the before/after proof. Pixels beyond the expanded edge should remain byte-for-byte unchanged; replacement placement should match the preview.

Reviewed object removal: Source + guidance, Mask + bounded fill, Clean scene or layerReviewed object removalINPUTSource + guidanceMASK + BOUNDED FILLMASK-BOUNDED · REVIEWEDOUTPUTClean scene or layerCOMPLETEOutside mask unchanged

Selection before synthesis

A reviewed mask governs every changed pixel

Positive and negative guidance feed the pinned interactive selector, while manual brush and lasso controls remain explicit alternatives. LaMa sees only a padded crop around the accepted mask; a real local asset can remain editable as a layer.

1 transaction

Removal + replacement history

01

No invented default mask

Removal cannot start until the selection contains reviewed, non-empty geometry aligned to the full-resolution source.

02

Bounded quality path

Consented LaMa inference runs at a bounded working size and composites only through the user-governed expanded edge.

03

Real replacement asset

A chosen local image becomes an editable layer with position, scale, edge, colour, light, and shadow controls.

Know before you process: The no-download neighbour fill is limited to tiny marks on simple, repetitive backgrounds. It is not PatchMatch and is not equivalent to LaMa.

Why selection, removal, and replacement are separate

Interactive segmentation answers which pixels belong to the object. Inpainting answers what might plausibly continue behind it. Replacement is different again: it positions a known asset over the reconstructed base. Keeping those stages visible prevents a weak fill from being marketed as selection or prompt generation.

What people use this for

Small distractions

Remove a cable, mark, sign, or background object after tightening the mask around it.

Product-scene correction

Swap a prop or package with a real approved asset while retaining exact layer control.

Property-photo cleanup

Remove a temporary item from a repetitive wall, floor, lawn, or sky after reviewing structure.

Editable composites

Keep a replacement movable in the Image Editor until its edge, light, scale, and shadow fit.

Limits worth knowing

  • LaMa reconstructs plausible surrounding texture; it cannot know hidden text, faces, objects, or geometry that was never visible.
  • The limited neighbour fill is only appropriate for tiny masks on simple repetitive regions and can smear edges.
  • Large masks crossing strong lines, repeating perspective, reflections, or shadows often need smaller passes or manual retouching.
  • Replacement uses a chosen local asset; prompt-generated objects are deliberately outside this release.

How the local workflow runs

  1. Load the best available source and mark positive and negative guidance.
  2. Build the pinned interactive mask or an explicitly manual brush/lasso mask, then inspect it.
  3. Choose the mask expansion, feather, and removal quality with the model disclosure visible.
  4. Optionally choose a replacement image and adjust its full-resolution compositor preview.
  5. Apply once, verify the decoded result, then download or continue editing with undo available.

Frequently asked questions

Does the tool choose an object without my input?

No. Add positive guidance over the object and negative guidance over nearby content, then review the generated mask. Removal stays disabled until a non-empty, full-resolution mask exists.

What downloads when I build an AI mask?

First use can fetch approximately 17.2 MB for pinned MagicTouch, MediaPipe WASM, and its small JavaScript runtime. Those assets are cached and are separate from LaMa; the manual brush/lasso mask needs neither download.

What does the LaMa download do?

After explicit consent, the pinned approximately 200 MB LaMa model reconstructs a padded crop around the accepted mask at a bounded 512-pixel working size. The result is feathered back only through the reviewed boundary.

What happens if I decline LaMa?

A limited boundary-inward neighbour fill remains available for tiny marks on simple, repetitive backgrounds. It can smear structure, is not PatchMatch, and is not presented as equivalent to LaMa.

Can I replace the object from a text prompt?

No. This release places a real local asset. After separate approval, pinned BiRefNet can remove its background with about 99 MB on WebGPU or up to 192 MB on CPU; decline accepts a meaningful already-transparent asset. It never pretends a classical fill generated an object.

Can I correct the selection?

Yes. Add positive and negative strokes, constrain with a lasso, or build a clearly labelled manual brush/lasso mask. Keyboard guide points and exact percentages provide non-pointer controls.

Will replacement controls match the exported image?

Yes. Position, scale, rotation, edge, brightness, saturation, temperature, and shadow use the same full-resolution compositor for the workbench preview, editor canvas, standalone download, and editor export.

Does object removal upload my photo?

No. The image, mask, inference, layer work, and export remain in the browser. Approving LaMa downloads only the pinned model files, which the browser caches.

Ready to try it?

No upload, no prompt illusion, and no change until you approve a real mask.

Remove an object