Free · 100% LocalScan text pasted out of Gemini for SynthID-related invisible markers, and strip every hidden Unicode character in one pass. The whole tool runs in your browser — nothing is uploaded, and it keeps working offline.
SynthID is Google DeepMind's watermarking system for AI-generated content. Launched in 2023 and extended to more modalities in 2024, it is built into Google's generative products — most visibly Gemini and Imagen — and leaves an imperceptible signature on whatever a model produces, so output can still be identified after light editing.
The mechanism differs by medium. In images and audio the mark is woven into pixels or the waveform, which is why it is meant to survive cropping and compression. Text has no spare pixels, so the published research describes a statistical fingerprint instead: while writing, the model leans slightly toward one phrasing among equally plausible options.
Text copied out of a chat window, a document export or a rich-text editor can pick up characters that occupy no space at all: zero-width spaces (U+200B), the joiners (U+200C, U+200D), the byte order mark (U+FEFF), direction marks (U+200E, U+200F), variation selectors and the deprecated tag range (U+E0000–U+E007F). None of them render, so the text looks untouched — yet two strings that look identical can differ byte for byte.
That layer is what the tool above inspects. Unlike a statistical bias buried in a model, these characters physically exist in the string, so they can be counted, listed by code point and removed without altering a visible letter. For chatbot text in general, the ChatGPT watermark remover on the home page runs the identical engine.
The same three steps work for any AI text — the full walkthrough lives on the ChatGPT watermark remover home page.
Three mechanisms get called "AI watermarks" — this table shows where each lives and whether a text cleaner can reach it.
| Mechanism | Where the mark lives | Removable from plain text? |
|---|---|---|
| SynthID (Google DeepMind) | Pixel or waveform signal in media; generation-time statistics plus invisible Unicode in text. | Partly — the invisible-character layer, yes; the statistical layer, no. |
| ChatGPT-style invisible characters | Inside the string: zero-width spaces, BOM, direction marks, tag characters. | Yes — a character-level scan removes them cleanly. |
| C2PA content credentials | File metadata and a signed manifest attached to the content. | No — it travels with files. |
If a mark rides along as characters, this page removes it; if it lives in model statistics or file metadata, no text tool can touch it.
It removes the invisible Unicode characters that survive copy-and-paste out of AI tools — zero-width spaces, joiners, byte order marks, direction marks, variation selectors and Unicode tag characters. Those marks physically exist in a string, so they can be counted and stripped. It cannot remove SynthID's generation-time statistical signature, because that signal lives in the model, not in your file. If the scan finds nothing, your text carried no hidden characters.
Yes — completely free, with no account, no sign-up and no usage limit. The copy and download buttons are never locked behind a paywall, and no watermark of our own is added to your output. Because the page is a single static file, you can save it and keep using it offline, and nothing about it expires or ever asks for payment later.
No. The scan, the red-tag preview and the cleaning pass all run as local JavaScript inside your browser. Your text never leaves your device and nothing is logged, because there is no backend in the loop to receive it. That is also why the tool keeps working after you disconnect — and why it is safe to paste client text, drafts or code into it.
No, and no browser text tool can. SynthID's image and audio marks are embedded in pixels and waveforms, so removing them is a signal-processing problem rather than a character-cleanup one. This page is strictly for text: the invisible Unicode layer you meet when copying output out of Gemini chats, documents or web editors. For image files, a character-level tool simply does not apply.
Yes. The engine never checks where text came from — it scans at the character level, so any invisible Unicode character is found and removed the same way regardless of the source. Gemini, ChatGPT, Claude and any other model are treated identically, and the detection report names every code point found, so you can see exactly what was stripped. The ChatGPT watermark remover workflow applies to all of them equally.
Because copy-and-paste carries more than the letters you see. Chat interfaces, rich-text editors and web pages each decide what to include in a clipboard payload, and non-printing characters such as zero-width spaces ride along invisibly. They take no horizontal space, so they never show up in a normal view, and ordinary find-and-replace rarely catches them. The result is text that looks identical but differs byte for byte.
No — the visible text survives untouched, which is exactly what "invisible" means. Paragraphs, links and the formatting marks contained in the text itself stay as they were. The one genuine caveat is emoji: some sequences use a zero-width joiner to glue glyphs together. Inside ordinary prose a stray joiner does nothing, but if your text relies on joined emoji, compare the preview before and after cleaning.
Stripping invisible Unicode characters is ordinary character-level cleanup — the same operation a find-and-replace or a code formatter performs, and nothing here is legal advice. What matters is intent and context: using the tool to fix word counts or clean pasted code is routine, while stripping provenance marks to present AI work as human-made may breach the rules of a school, employer or platform. Check the policy that applies to you.
Every page below runs on the same browser-only engine: