Remove objects from photos
Paint over what you want gone. The model fills the hole with whatever should have been behind it — and it does that on your own machine, so the photo never leaves your device.
Photo editor
—
Example: somebody left a bike on an empty beach. The brush strokes are already drawn — press Erase it.
JPG, PNG or WebP · up to 15 MB and 4 megapixels · or just paste with ⌘V / Ctrl+V
How to use it
- Drop a photo inDrag it onto the picture above, press ⌘V / Ctrl+V, or use the file button. It is read straight into the canvas — nothing is sent anywhere.
- Paint over the thingCover it completely and go a few pixels past its edges, including the shadow. Anything the brush misses gives the model a hint to draw the object back.
- Press Erase itA 512-pixel square around your strokes goes through the model; everything outside that square is left byte-for-byte untouched. Drag the divider to compare, then download at full resolution.
The model is LaMa ("Resolution-robust Large Mask Inpainting with Fourier Convolutions", Samsung AI Center Moscow), exported to ONNX and run with ONNX Runtime Web. It was trained to look at what surrounds a hole and continue it — sand, sky, water, brick, grass, wood grain. It is not a generator: you cannot ask it to put something new there, only to take something away.
What it does well, and what it does not
Works well
- One clear object on a repeating background: a bin on grass, a bike on sand, a sign against sky, a cable across a wall.
- People and pets at a distance — the tourist in the background of a holiday shot, a stray dog on the pavement.
- Small blemishes: a date stamp, a dust spot, a power line, a stain on a wall you want out of a listing photo.
Struggles with
- Large areas in the middle of structure — half a face, a whole car parked in front of a shop front, a person standing on a tiled floor.
- Anything that has to invent detail that was never in the frame: text, faces, logos, repeating patterns with perspective.
- Objects painted in one huge stroke. Several smaller passes, checking after each, beat one big pass almost every time.
- Model
- LaMa (big-lama), Apache-2.0
- Download, first visit
- 59 MB on CPU · 102 MB on GPU
- One patch takes
- ≈0.3 s WebGPU · ≈11 s CPU
- Photo leaves your device
- Never
Want it to select the object for you?
This page keeps the brush in your hand on purpose: it is small, fast, and works in any browser. The Mac app pairs the same inpainting model with a segmentation model, so you can click an object — or type its name — and get the mask drawn for you, on batches of photos.
Questions people ask
Does my photo get uploaded?
No. The only thing that travels over the network is the model file itself, downloaded once from our CDN. Your photo is read into a canvas element, processed by WebGPU or WebAssembly on your own machine, and thrown away when you close the tab. You can check: open your browser's network panel, erase something, and watch that nothing goes out. Turning off Wi-Fi after the first run works too.
Can I use it to remove a watermark or text?
Technically yes for small marks on plain backgrounds, and badly for anything large or over detailed areas — the model has to guess what was underneath and it cannot read. Legally, removing a watermark does not give you a licence to use the picture. Whether you are allowed to edit a given image is on you, not on this page.
Why is the patch a bit smudgy, and how do I make it better?
Three fixes, in order of how much they help. First, paint past the edges of the object, shadow included — a few leftover pixels are the single most common reason the model draws the object back. Second, do it in several passes instead of one: erase, look, paint the next bit. Third, keep each stroke area smaller than about a quarter of the frame; the model reads a 512-pixel square around your strokes, so a huge mask means less real context to copy from.
How big a photo can I use?
Up to 15 MB and 4 megapixels — that is roughly 2400 × 1700, bigger than most phone photos after export. Anything larger is scaled down to 4 megapixels before editing and you are told so. The output keeps the resolution you edited at: erase on a 2400 × 1700 photo and the PNG you download is 2400 × 1700, not a 720-pixel preview.
Why does the first run download tens of megabytes?
Because the model itself has to reach your machine — that is the price of not uploading your photo. It is 59 MB on the CPU path and 102 MB on the WebGPU path (a different build of the same weights). The browser caches it, so a second visit starts in well under a second and works with no connection at all. We do not use the quantised build that would be smaller still, because it visibly hurts the fill quality.
How is this different from the other free object removers?
The usual ones — Cleanup.pictures, Fotor, Picsart, magic eraser sites — upload your photo to their servers, and the free tier caps the output at around 720 pixels, adds a watermark, or asks you to sign in. Here the picture stays in the tab, nothing is capped except the 4-megapixel input limit, there is no watermark and no account. The trade is the one-off model download and a slower first click on machines without a GPU.
Which browsers and devices work?
Chrome, Edge, Firefox and Safari 17+ on desktop all work; Chrome and Edge additionally use WebGPU, which was about thirty times faster than the CPU path on our test machine. On phones it will run for small photos, but a 4-megapixel image can use enough memory for iOS Safari to reload the tab, so a computer is the safer choice for anything large.
Inpainting by LaMa (Suvorov et al., WACV 2022), ONNX build by g-ronimo, both Apache-2.0 — full text in LICENSE-model.txt. Example photos: “I want to ride my bicycle” by Mussi Katz and “Walking by the sea” by freestocks.org, both CC0 1.0.