How Gemini Image Watermarks Work | Reverse Alpha Blending

Gemini’s visible star is a fixed alpha overlay. Reverse blending restores pixels; AI inpainting invents them. SynthID is a different system.

By Anthum Editorial · Published

Gemini’s visible watermark is not graffiti. It is a fixed pattern in a fixed corner, mixed into the export with ordinary alpha compositing. If the forward step is a formula, the reverse step can be a formula too.

This article is the mechanics. For the click-by-click workflow, use How to remove a Gemini watermark and the on-device remover.

How the visible watermark is added

Computer graphics composites a foreground over a background with:

``` watermarked = α · logo + (1 − α) · original ```

Where:

Two properties make this invertible:

1. The mark’s shape is stable — the star is not randomly redrawn per image. 2. The opacity map is stable for a given size — the same α at the same local coordinates, once you know whether you are on a 48×48 or 96×96 (or later catalog) overlay.

That is why a Gemini-specific tool can beat a general inpainting model on this one job: it is not guessing fabric. It is unmixing a known overlay.

Reverse alpha blending

Rearrange the composite:

``` original = (watermarked − α · logo) / (1 − α) ```

When `α` is 0, the pixel was never covered — leave it. When `α` is high, you recover more of the buried sample, as long as `α` is not 1 (fully opaque would destroy the original channel).

Allen Kuo documented this inversion and how to calibrate α by capturing the overlay on solid backgrounds. On pure black, a displayed channel value `v` is approximately `α × 255`, so `α ≈ v / 255`. Those calibrated maps shipped in GeminiWatermarkTool under MIT. The browser engine Anthum uses is the JavaScript port in gemini-watermark-remover.

Reverse blend vs AI inpainting

| | Reverse alpha blending | AI inpainting | | --- | --- | --- | | What it does | Solves for the original sample | Predicts a plausible replacement | | Typical artifacts | Color fringing if the map or position is wrong | Invented texture, broken type | | Speed | Milliseconds on a few thousand pixels | Seconds to minutes | | Best input | Unaltered Gemini stills | Arbitrary logos, text, holes | | Failure mode | Wrong size/position → inverted “ghost” star | Hallucinated corner |

Inpainting is the right hammer for a stock watermark you have never seen. It is the wrong first hammer for Gemini’s catalogued overlay.

Why size and position matter

Public implementations match Gemini exports against a size catalog, then refine the corner with a local search so a 48×48 map is not applied to a 96×96 overlay (or the reverse).

Kuo’s write-up and the JS port both stress the same operational fact: if the map is shifted after a Gemini layout change, inversion overshoots and leaves a darker diamond where the star was bright. That is not “AI being creative.” That is arithmetic with the wrong α grid.

Anthum’s remover uses the port’s detector (catalog lookup + local anchor + a confirmation gate) so it can skip a file rather than burn a false overlay into a clean corner.

Why this can run fully in the browser

The hot path is arithmetic on a small rectangle. No model weights. No GPU. A laptop JS thread finishes a still in tens of milliseconds once the alpha maps are in memory. That is why a privacy-first product can refuse to upload the file.

Workers would help a 200-image overnight job. Anthum’s first page processes a couple of stills at a time on the main engine instance so a 30-file drop does not freeze the tab — see the how-to guide.

What the math cannot fix

A tiny implementation sketch

For readers who want the loop, not a product:

1. Load the α map for the detected overlay size. 2. Place it in the bottom-right with the catalogued margin (then optionally nudge by a local search). 3. For each covered pixel and each RGB channel:

``` original = clamp((watermarked - alpha * 255) / (1 - alpha), 0, 255) ```

Skip pixels where `alpha` is ~0. Never divide by a true zero `(1 − α)`.

Production engines add detection gates, multi-pass cleanup, and newer α variants as Gemini moves the star. Read Kuo’s article and the two MIT repositories before you ship your own map — the calibration is the hard part, not the three-line loop.

Frequently asked questions

Is reverse blending “removing AI evidence”?

It only inverts the visible corner overlay. SynthID and file metadata are separate. See Gemini watermark vs SynthID and Google’s SynthID page.

Why not always use inpainting?

Inpainting invents. On type, UI, and product edges that looks worse than a correct inverse blend. Use inpainting when the mark is not Gemini’s catalogued star.

Will Gemini change the overlay?

Yes — Kuo documents layout shifts (including Gemini 3.5 moving the star). Engines need updated maps. If removal quality drops after a Gemini update, that is a calibration lag, not a reason to switch to a hallucinating model first.

References

1. Allen Kuo, Removing Gemini AI Watermarks: A Deep Dive into Reverse Alpha Blending. 2. Allen Kuo, GeminiWatermarkTool (MIT) — calibrated reverse-alpha masks and CLI. 3. GargantuaX, gemini-watermark-remover (MIT) — browser/JS engine used by Anthum’s tool. 4. Google DeepMind, SynthID. 5. Porter & Duff, “Compositing Digital Images,” SIGGRAPH 1984 — the industry alpha-compositing model this overlay uses.

Related: How to remove a Gemini watermark · Screenshots · Visible mark vs SynthID

← Back to Blog