You run a watermark removal, and most of the mark disappears. But a single letter is still sitting in the corner, or the diagonal tiles are gone from the sky and still there over the buildings. The obvious conclusion is that the AI is not very good.
Usually the AI did its job perfectly. It was just never told about the part that is still there.
Removal is two separate steps
Every watermark remover, ours included, does two things that are easy to confuse for one:
- Find the mark. Produce a mask — a black and white image where white means "this is watermark, replace it" and black means "leave this alone."
- Fill the hole. Hand the photo and the mask to an inpainting model, which invents plausible pixels for every white area using the surrounding image as context.
Step two is the part that looks like magic, and it is the part people mean when they say "the AI." Step one is unglamorous and is where nearly all visible failures come from.
The fill model cannot see the watermark. It only sees holes. If your mask covers 60% of the watermark, you get a flawless fill of that 60% and an untouched 40%, and the result looks like the model gave up halfway.
We measured it on our own samples
We keep a set of test photographs with watermarks we applied ourselves, so we know exactly which pixels are watermark and which are photo. That lets us score a mask against ground truth instead of guessing.
Running our own automatic suggestion against that set:
- On a diagonal tiled watermark repeated across the whole frame, the suggested mask covered about 37% of the actual watermark footprint.
- On a single corner logo, it covered about 58% — and the uncovered remainder included the last letter of the wordmark, which survived the cleanup as a clearly visible glyph.
Given the correct mask instead, the same fill model on the same photographs left no visible trace.
Those numbers are ours, on our test images, and your mileage will differ. The shape of the result is the part worth taking away: the gap between a mediocre cleanup and a perfect one was entirely in the mask, and not at all in the model doing the filling.
How to tell which step failed
Look at the result and ask one question: are the removed parts good?
- Removed parts look perfect, other parts untouched. This is a masking problem. The fill is fine. You need to mark the areas it missed and run it again.
- Everything got touched, but the area looks smeared, blurry, or has a ghost of the original shape. This is a fill problem. The mask was right and the model could not reconstruct what was underneath.
- A faint rectangular halo around where the mark was. The mask was slightly too small. Watermarks have soft, semi-transparent edges, and a mask cut exactly to the visible glyph leaves a rim of tinted pixels behind.
The first case is by far the most common, and it is the one you can fix yourself in about fifteen seconds.
Four reasons masks miss
Repetition. A tiled watermark is not one mark, it is twenty. Automatic detection tends to find the instances with the most contrast and skip the ones sitting over busy or dark areas. This is the worst case for automatic masking and the best case for spending a moment drawing.
Low contrast. A white semi-transparent wordmark over a bright sky is nearly invisible to a detector and completely obvious to you. Detection thresholds that catch it also catch clouds.
Soft edges. Most watermarks are applied at partial opacity, so there is no clean boundary between mark and photo. Whatever mask you draw, extend it a few pixels past what you can see. Over-covering by a small margin costs nothing — the fill model reconstructs ordinary photo just as happily as it reconstructs watermark.
Text on textured backgrounds. Letterforms over grass, gravel, foliage, or fabric blend into the high-frequency detail. Detectors keyed on sharp edges lose them there.
What to actually do
Treat an automatic suggestion as a first draft, not an answer. The workflow that reliably produces clean results:
- Run the suggestion and look at what it selected, not just at the result.
- Scan the whole frame for instances it skipped, especially over dark or detailed regions.
- Brush a few pixels past the edge of everything you mark.
- Erase the mask off anything you care about that it over-covered — faces especially. A mask that swallows an eye will produce a confidently wrong eye.
- Then run the cleanup.
This is why our studio shows you the mask and asks you to review it before running, instead of presenting one button and hoping. It is a slower first impression and a much better second one.
When the fill really is the problem
Masking is not always the culprit. There are cases where the mask is perfect and the result is still poor:
- A large opaque box over important detail. If a solid rectangle covers someone's face or a line of text, that information is gone. The model will invent something plausible and it will be wrong, because there is nothing left to infer from.
- A mark covering a strong structural edge. Rooflines, horizons, and window frames have to continue through the filled region. When the covered span is wide, reconstructions bend or drift.
- Very large coverage. As the masked fraction of the image grows, the model has less real photo to reason from, and the output slides from reconstruction toward invention.
These are genuine limits, and no amount of mask refinement fixes them. Worth knowing so you can recognise the difference and stop refining a mask that was never the problem.
The short version
When a cleanup leaves part of the watermark behind, the model almost certainly did not fail. It filled precisely the region it was given. Widen the region, catch the repeats, feather past the edges, and the same model that left a letter behind will take the whole thing out.
As always: only remove watermarks from images you own, created, or have permission to edit.