Your AI text is watermarked and you did not know it — this tool strips Claude, Gemini, and OpenAI provenance marks in one pass
What this project actually does
In plain terms, watermarks-remover is a toolbox that scrubs the invisible "AI provenance marks" out of your own content. Today, when Claude, Gemini, or OpenAI generate text, they frequently embed hidden watermarks or metadata — sometimes as invisible Unicode characters, sometimes inside file headers like C2PA or EXIF. watermarks-remover is a set of Python scripts plus an agent skill that strips multi-vendor AI provenance marks from both plain text and a wide range of file types. The core philosophy is simple: the content is yours, so the decision about whether to keep those secretly injected markers should be yours too.
Why it's been blowing up
The debate around AI watermarking has gotten noticeably louder lately. On one side, regulators want vendors to tag machine-generated content; on the other, users do not want every draft they write to be instantly recognizable as machine-written. This project lands right on that fault line, and it picked up 2.3K stars in just two weeks. Crucially, it does not market itself as a forgery tool. Instead it hands the choice back to the content owner — if you own the file, you get to decide whether to keep the markers that were quietly slipped in.
Technical highlights
The tool attacks the problem in three clearly separated layers. The first layer targets invisible Unicode. Exotic spaces, bidirectional (bidi) characters, and tag characters are completely invisible to the human eye but can be used by models or platforms to track content. The project removes them with deterministic Python scripts — no guessing required. The second layer deals with statistical text watermarks. Things like Gemini's SynthID-Text, OpenAI's provenance traces, and the open-source Kirchenbauer-style "green-list" watermarks are embedded in the sampling probabilities of the token sequence, so they cannot simply be deleted. Here the project uses agent-driven rewriting plus an optional rewrite_text.py hook, letting a language model rephrase sentences while preserving meaning, which smooths out the statistical signature. The third layer handles file-level metadata — C2PA, EXIF, XMP, and document properties — across PNG, JPEG, SVG, PDF, DOCX, ODT, HTML, and Markdown.
What I find genuinely interesting is the breadth of coverage. It names Claude, Gemini/SynthID, OpenAI, and open-LLM Kirchenbauer marks all in one pass, which means most of the mainstream "invisible fingerprints" currently in circulation are accounted for. The whole toolkit is MIT-licensed and local-first, so your content never leaves your own machine.
Who it's for
If you write with AI regularly but do not want every paragraph carrying a vendor's invisible signature, this tool fits. Privacy-conscious users, content creators, and anyone who treats AI as an everyday writing companion can clear those secretly injected markers in one step. It is a hygiene utility, not a cracking utility.
Quick start
The easiest path is installing it as an agent skill: clone the repo, symlink skills/remove-ai-marks into your .grok/skills directory, and then invoke it with /remove-ai-marks inside a conversation. Pure-script users can also run the bundled Python files directly against local text and images.
How it compares to alternatives
Most "watermark removal" tools on the market only target visible image watermarks, or only handle one vendor's markers. watermarks-remover differs on three axes. First, coverage is complete: invisible text characters, statistical watermarks, and file metadata are all handled in one toolkit. Second, it is multi-vendor: Claude, Gemini, OpenAI, and open-source models are covered together. Third, it is local-first, MIT-licensed, and runs on your own machine so your content never leaves your computer. Compared with alternatives, it positions itself as a privacy-hygiene tool rather than a cracking tool — and that positioning is exactly why it can stand firm amid the surrounding controversy.
A practical example
To make this concrete, imagine you drafted a blog post with an assistant and want to strip any hidden markers before publishing. You would clone the repo, link the skill into your agent directory, and run /remove-ai-marks on the file. The first pass removes invisible Unicode spacing and directionality characters that word processors and some platforms silently preserve. The second pass inspects the text for statistical watermarks; if it finds a SynthID-style or green-list signature, the rewrite hook asks a model to paraphrase the affected sentences while keeping your meaning and tone. You can review the diff and accept only the changes you like. The third pass scrubs file metadata if you are exporting to PDF or DOCX. Throughout, nothing leaves your machine. The maintainer is deliberate about scope: this is for content you own, not for evading legitimate disclosure rules or passing off others' work. Used that way it is closer to clearing EXIF location data from a photo you took than to any kind of forgery, and that framing is exactly why privacy-minded developers have embraced it so quickly.
If you are deciding whether to add this to your toolkit, the practical test is simple: run it on a few files you wrote with an assistant and diff the before and after. You will usually see a handful of odd characters vanish and, if your provider embeds a statistical mark, a few sentences gently reworded. Nothing about your argument or style changes, which is the whole point. For teams shipping AI-assisted content at volume, baking this into a pre-publish step is a cheap way to keep ownership of your own artifacts.