On-device AI · WebGPU

Erase watermarks and objects without uploading a thing

Paint over any watermark, logo, date stamp or unwanted object. Feyard rebuilds what was underneath with LaMa inpainting and a fast-marching repair engine — entirely inside your browser.

Detecting GPU…
100% private
Free & open
Why it works

Built for precise, believable cleanups

Two repair engines, region-of-interest inference and feathered compositing — so the result survives a second look.

LaMa large-mask inpainting

A generative model with 51M parameters reconstructs the structure hidden behind the mark instead of smearing the surroundings into a blur.

Brush, box or lasso

Trace a thin date stamp with a soft-edged brush, or box an entire object. Zoom to 800% and refine with per-pixel undo.

Instant fast mode

For small monochrome marks on clean backgrounds, fast-marching repair finishes in milliseconds and downloads nothing at all.

Nothing leaves your device

Inference runs on WebGPU or WebAssembly inside this tab. No upload, no queue, no account, no image history.

How it works

Three steps, entirely on-device

  1. 01

    Import a photo

    Drag it in, paste from the clipboard, or pick a file. JPEG, PNG and WebP up to 4096 px on the long edge.

  2. 02

    Paint what to remove

    Pick the brush, box or lasso and cover the mark. Purple is what gets rebuilt — press E to erase part of the selection.

  3. 03

    Erase and export

    Run it, compare before and after with the split slider, then export PNG, JPG or WebP at full resolution.

Fast mode

Fast-marching repair. Best for small marks, thin text and date stamps on smooth backgrounds. Nothing to download.

AI HD mode

LaMa neural inpainting. Best for larger objects, textured backgrounds and anything that needs new structure invented.

Region of interest

Only the padded crop around your mask reaches the model, so a 4K photo costs about the same as a small one.

Several regions

Fix one mark, paint the next. Every run composites back into your working image at full resolution.

Complete guide

About the watermark and object eraser

Eraser is a free AI watermark remover and object remover that runs entirely in your browser. You paint over the thing you want gone — a logo burned into a corner, a date stamp, a stranger in the background, a cable crossing a product shot — and the tool reconstructs what was behind it. Two engines are available: a zero-download Fast Marching inpainter for simple backgrounds, and a LaMa neural inpainter for everything else. Nothing is uploaded, there is no sign-up, and there is no per-image fee.

It is built for the jobs where an online removal service is the wrong answer: cleaning a client's photos you are not allowed to put on someone else's server, stripping watermarks from images you own, removing an exif date stamp from a personal archive, or clearing background clutter from a product photo before it goes into a catalogue. The image goes into your browser's memory and never leaves it.

How LaMa fills a hole

The AI engine is LaMa (Large Mask Inpainting), a Fourier-convolution network with roughly 51 million parameters, exported to ONNX and run with ONNX Runtime Web. LaMa was trained specifically for large-mask inpainting: rather than cloning nearby pixels, it learns the structure of the scene — the continuation of a wall texture, the geometry of a floor, the rhythm of a repeated pattern — and synthesises a plausible fill. That is what lets it remove an object that spans a large part of the frame without smearing.

The model receives two tensors: the RGB image and a single-channel mask where painted pixels are marked. It returns a complete image, and the tool blends only the masked region back into the original, so untouched pixels are bit-for-bit identical to what you imported. Edges are feathered with a Gaussian falloff so the seam is invisible even on smooth gradients like sky or skin.

Two engines: fast vs AI

Fast mode uses OpenCV's classic Fast Marching and Telea inpainting algorithms, reimplemented in TypeScript with a binary heap. They propagate pixel values inward from the boundary of the hole along an approximate geodesic front. There is no model download and the result is instant, which makes it ideal for watermarks sitting on flat or lightly textured areas — a semi-transparent logo over a gradient, a timestamp over sky.

AI mode downloads LaMa (~210 MB) once and caches it in IndexedDB, so every later run is offline-capable. It is the right choice for structured scenes: removing a person from a street, deleting a fence from a field, erasing text over bricks. If the two produce a similar result on your image, prefer Fast — it costs nothing and finishes in milliseconds.

Masking tools and precision

Four selection tools are provided. Brush is freehand painting with an adjustable radius; Box drags a rectangle, which is the fastest way to cover a corner watermark; Lasso traces an arbitrary outline for irregular objects; Erase Mask removes painted pixels you got wrong. Undo and redo cover every stroke, and the mask is drawn as a translucent overlay so you always see exactly what will be filled.

Mask quality decides output quality more than anything else. Paint a little beyond the object — a few pixels of margin on all sides — so the network has context on every side of the hole. Painting too tightly leaves a halo; painting far too widely makes the model invent more of the scene than necessary. For large subjects, erase in passes: remove the main body, then clean up the residue.

Resolution, memory and why we crop

Running a 51M-parameter model at full resolution on a 24-megapixel photo would need many gigabytes of memory. Instead the tool computes the bounding box of your mask, expands it with padding, and runs inference only on that region — a technique called region-of-interest inference. The rest of the image is never touched by the model. The ROI is then composited back with feathered edges.

The ROI is further scaled so its long edge is 1024 px on desktop and 512 px on phones and low-core machines, then padded to a multiple of 8 for the graph. Your export is unaffected: only the patch is downscaled for inference and upscaled back into the full-resolution original, so a 6000 × 4000 photo exports at 6000 × 4000.

WebGPU and the WASM fallback

Inference runs on WebGPU when the browser exposes it, and falls back to WebAssembly (CPU) when it does not. WebGPU is typically several times faster; the fallback still works, just slower. Some drivers report WebGPU support and then fail at the first real dispatch, so the tool catches those errors at runtime, disables the GPU for the session and retries on WASM automatically rather than leaving you with a stuck progress bar.

Source images are decoded with the browser's own decode pipeline and clamped to a 4096 px long edge, which is comfortably above what the model can usefully process and keeps memory predictable on mobile Safari.

Limits & requirements

Inpainting is reconstruction, not recovery. What was behind a watermark is genuinely gone, and the model guesses it from surrounding context. Large removals in highly structured scenes — a face half-occluded by a logo, dense text, fine regular patterns like chain-link fencing — can produce plausible-looking but wrong detail. Try Fast mode, shrink the mask, or work in smaller passes when that happens.

AI mode needs a one-time ~210 MB download and a device with enough free memory for a 1024 px fp32 graph; very old phones should stay on Fast mode. Nothing is queued on a server, so there is no rate limit and no queue — but there is also no cloud GPU, so a large fill can take a few seconds on CPU.

Privacy

Your image never leaves your device. Decoding, masking, inference and export all happen in the page. There is no upload endpoint, no account, no analytics on your image, and no server-side log of what you removed. The only network request is the one-time model download from a model CDN, and once LaMa is cached in IndexedDB the tool works fully offline.

FAQ

Questions about erasing

Yes — once. The LaMa weights are around 210 MB, fetched from our CDN on first use and then cached in your browser's IndexedDB, so later sessions load them from local storage. Fast mode never downloads anything.