Watermark & Object Eraser

Remove watermarks, logos, timestamps, and unwanted objects from photos — 100% in-browser. No file upload, no server, no account. Paint over what you want gone, then hit Erase.

No Upload · Offline · Free
🖼️
Click to choose a photo or drag & drop here
JPG, PNG, WebP — stays on your device

Step 2: Paint over the watermark or object you want to remove. Use a bigger brush for large areas.

Brush size
Paint mask first, then erase
Processing…

Result

Inpainted result

How it works

Everything runs inside your browser using the Canvas API and a local inpainting algorithm. No bytes ever leave your device — not even temporarily.

1. Load image Your photo is decoded locally by the browser and drawn onto an HTML Canvas. Nothing is uploaded.
2. Paint mask Draw over the watermark, timestamp, logo, or any object you want gone. The red overlay shows your mask.
3. In-browser inpainting A Navier-Stokes diffusion algorithm (the same method used in OpenCV's inpaint()) propagates surrounding colour and texture into the masked region — entirely in-browser.
4. Download result The cleaned image is rendered back to a Canvas and offered as a PNG or JPG download. Your original file is never sent anywhere.

Best results: paint a mask slightly larger than the watermark (2–4 px margin). Thin text watermarks erase cleanly; large opaque logos over complex backgrounds may need a second pass or a larger brush.

Frequently asked questions

Does my photo get uploaded to a server?
No — never. The entire process runs inside your web browser using standard JavaScript and the HTML Canvas API. Your image is loaded from your local disk directly into browser memory and processed there. No network request containing image data is ever made. You can even disconnect from the internet after the page loads and the eraser will still work.
What kind of watermarks can it remove?
It works best on semi-transparent text watermarks, date/time stamps, small logos, and thin lines over relatively uniform backgrounds. The inpainting algorithm reconstructs the covered pixels by propagating colour gradients from surrounding areas. Very large opaque watermarks over highly detailed or textured backgrounds (e.g. a big logo centred on a face) may leave visible artefacts — for those, try multiple smaller passes or reduce brush size to mask precisely.
What inpainting method does it use?
The tool implements a Navier-Stokes PDE-based image inpainting algorithm — the same core method behind OpenCV's cv2.inpaint() with the INPAINT_NS flag. It propagates image isophotes (contour lines of equal intensity) from the boundary of the masked region inward, iterating until the interior is filled. This is a purely mathematical approach: no AI model is needed, no external library is downloaded, and the computation runs entirely on your CPU via JavaScript.
Is there a file size or resolution limit?
There is no hard limit — it depends on your device's available memory. In practice, images up to about 12 megapixels (e.g. 4032 × 3024) process smoothly on a modern laptop or phone. Very large images (20 MP+) may be slow on older devices; consider resizing before loading if you notice lag. The painted mask area is the main factor: a small mask on a large image is fast; erasing a large portion of a high-resolution image takes longer.
Can I erase multiple watermarks in one session?
Yes. After downloading the result, click "Erase more" to paint a new mask on the already-cleaned image and run another inpainting pass. Alternatively, paint all watermarks at once before clicking Erase — the algorithm handles multiple disconnected mask regions in a single pass.