Drop a photo
Add one image — the AI runs on your device, nothing is uploaded.
Object removal
Brush over an unwanted object, person or blemish and AI inpainting fills the gap — free, unlimited, and the model runs entirely on your device.
Drop an image to retouch
PNG · JPG · WEBP — brush over anything to erase, the AI runs on your device
How it works
Add one image — the AI runs on your device, nothing is uploaded.
Paint fully over what you want gone. Cover the whole thing, edges included.
The AI fills the gap in a second or two — save it as PNG.
What it is good for
Remove someone who wandered into an otherwise perfect shot.
Wipe out bins, wires, poles or signs that pull the eye from your subject.
Clean up dust, spots and small imperfections on a wall, product or surface.
Removing an object from a photo looks like magic, but the result you get is mostly decided by two things: how completely you paint the mask, and whether the background behind the object is something the model can plausibly reinvent. Get those right and the distraction simply vanishes; get them wrong and you are left with a smudge. Here is how the tool works and how to steer it toward a clean result.
It is worth being clear about what this tool does, because it is the opposite of the background remover. Background removal decides which pixels to keep — it isolates your subject and deletes everything else, inventing nothing. Object removal decides which pixels to delete, and then has to invent what was behind them so the gap looks like it was never there. That second job — synthesising believable new texture — is why inpainting is a fundamentally harder, generative task, and why the background matters so much.
The single biggest factor in a clean erase is covering the object completely. The model rebuilds only what you paint over; anything you leave uncovered — a wingtip, a trailing wire, the edge of a shadow — stays in the photo, and worse, its leftover pixels get pulled inward as the model tries to reconstruct from them, leaving a dark or blurry ghost. So paint past the edges rather than up to them. A mask that spills a little onto clean background almost always looks better than one that stops short, because the surrounding area gives the model honest context to copy from. Use a larger brush for the body of the object and a smaller one to chase thin protrusions.
The size of the hole relative to its surroundings is what separates an easy erase from a hard one.
A retouch is rarely the only step. If you are cleaning up a product shot, erase the clutter first, then cut out the background for a transparent PNG, or upscale a small result to a usable size. Heading for the web afterwards? Run the finished image through the compressor to bring the file size back down. Every one of those steps runs on your device too, so an image can flow from tool to tool without ever being uploaded.
The whole pipeline is local. A compact inpainting model (MI-GAN, about 28 MB) downloads once and is cached, then runs on WebGPU where your browser supports it and falls back to WebAssembly on the CPU otherwise. Inference happens in a background worker on a 512-pixel region around your edit, so even a large photo stays responsive and only the part you brushed is ever recomputed. Nothing is uploaded; no server ever sees your picture.
For a step-by-step walkthrough with examples of easy and hard erases, read How to remove objects from photos.
The AI model runs locally in your browser with WebGPU or WebAssembly. No servers, no uploads, no accounts — your images stay private by design.
You brush over the thing you want gone, and an inpainting neural network (MI-GAN) rebuilds the pixels behind it to match the surrounding background. It runs on your device through WebGPU, or WebAssembly as a fallback — no server involved.
Yes. The model downloads once (about 28 MB) and then every erase runs locally in your browser. Your photo is never uploaded to any server, and there is no sign-up or watermark.
Cover the whole object with the brush, including its edges and any thin parts like wires or limbs. Leftover slivers are the main cause of a smudge — the model pulls those stray pixels inward. A slightly generous mask almost always beats a tight one.
Small-to-medium distractions on a fairly even background — a bird in the sky, a person on grass, a sign on a wall — come out cleanly. Very large objects that fill most of the frame, or highly structured backgrounds the fill has to reinvent (railings, text, faces), are harder and can look approximate.
A person who is a modest part of the scene, yes. A person filling most of the frame is closer to “replace the background,” which on-device inpainting handles less convincingly — the model has to invent a lot of new scene, and the result may look soft.
The model downloads the first time you use the tool and is then cached, so every later erase starts straight away. On WebGPU the first run also compiles shaders once; runs after that are quicker.
No. Ruah is built to retouch your own photos — removing distractions and blemishes. It is not designed to strip visible watermarks or to hide that an image was generated by AI.
PNG, JPG and WebP, at any resolution. The AI works on a 512-pixel region around your brush strokes, so a small object in a large photo is edited at full detail while the rest of the image is untouched.