Strip Google Gemini's watermark from generated images. Fast, local, no API.
unmark is a command-line tool that removes the small sparkle Google Gemini stamps in the bottom-right corner of every image it generates. It works fully offline using deterministic image-processing strategies — no cloud calls, no API keys, no telemetry.
A real Gemini-generated image, before and after unmark --tool gemini:
| Before | After |
|---|---|
![]() |
![]() |
Gemini stamps a small watermark on every image it generates. Generic inpainting tools either leave visible artifacts, demand manual masking, or send your image to a remote server. unmark knows exactly where the Gemini sparkle sits and removes it cleanly with image symmetry + content-aware fill — locally, in seconds.
pip install unmarkOr from source:
git clone https://github.com/verepdev/unmark.git
cd unmark
pip install -e .Requires Python 3.10+.
unmark input.png -o output.pngunmark gemini-output.png -o clean.png --tool geminiunmark *.png --batch -o cleaned/# Mirror-patch from another corner
unmark img.png -o out.png --strategy mirror --corner bottom-right --source bottom-left
# Targeted inpaint
unmark img.png -o out.png --strategy inpaint --threshold 120unmark ships three strategies, picked automatically based on the watermark's properties:
| Strategy | Best for | How it works |
|---|---|---|
mirror |
Watermarks in a corner of a near-uniform background (Gemini sparkle) | Copies the symmetric patch from the opposite corner, mirrors it, blends with feathered edges |
inpaint |
Watermarks with detectable color contrast | Builds a brightness/color mask, runs OpenCV TELEA inpainting on detected pixels |
hybrid |
Complex backgrounds | Mirror-patch first, then targeted inpaint on residual artifacts |
Tool presets bundle the right strategy + parameters for known watermark patterns.
| Mode | What it does |
|---|---|
--tool gemini |
Removes the bottom-right sparkle/diamond Gemini stamps on every generated image |
| Generic flags | `--strategy mirror |
This tool is intended for personal use with images you generated yourself. Removing watermarks from images you do not own may violate the source tool's terms of service. You are responsible for how you use this tool.
Issues and PRs welcome, especially:
- Better strategies for non-uniform backgrounds
- Performance improvements
- Tests on edge cases (small images, very dense backgrounds, etc.)
- A preset for another AI tool you actually use — open an issue first so we can discuss the approach before you write code
Dev setup:
git clone https://github.com/verepdev/unmark.git
cd unmark
python -m venv .venv && source .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install -e ".[dev]"
pre-commit install # enable format + lint hook on every commit
pytestCode style: Ruff for lint, type hints on public functions, short focused functions.

