AI Watermark Checker — Hidden Character Scanner
Paste any text to scan for hidden Unicode characters used as watermarks or steganography: zero-width spaces, direction controls, variation selectors, and tag characters that can smuggle invisible ASCII messages. Everything runs locally in your browser — nothing is uploaded.
Text to scan
What this tool can and cannot detect
This scanner finds character-level watermarks and steganography — hidden Unicode that is physically present in your text. It cannot detect statistical watermarks (like Google SynthID or similar schemes), which are encoded in word-choice probabilities and leave no character traces. No local tool can. Any website claiming to "remove AI watermarks" beyond hidden characters is selling something it cannot verify.
How to use / Why use this tool / FAQ
How to use
Paste any text — scanning happens instantly as you type. The report lists every hidden Unicode character with its code point, name, and count; a highlight preview shows exactly where each one hides in your text. If tag characters (U+E0000–U+E007F) are present, the tool decodes the invisible ASCII message they carry. Click 'Clean & copy' to strip everything suspicious while keeping normal emoji intact — enable Aggressive mode only if you also want emoji joiners removed. Everything runs locally.
Why use this tool
Hidden Unicode characters are the character-level watermarking and steganography toolkit: zero-width spaces mark text invisibly, direction controls can disguise malicious strings, and tag characters can smuggle entire hidden messages — a known prompt-injection vector. This checker finds them all, tells emoji-related joiners apart from genuinely suspicious ones (so a family emoji never triggers a false alarm), and decodes hidden tag payloads in one click. Equally important is what it honestly cannot do: statistical watermarks like Google SynthID live in word-choice probabilities, not characters, and no local tool can detect them — including this one.
FAQ
- Can this tool detect Claude's or Gemini's statistical watermark?
- No — and neither can any other local tool. Statistical watermarks (SynthID and similar schemes) are encoded in the model's word-choice probabilities and leave no character-level trace. Only the vendor's own verification API can detect them. Any website claiming to detect or remove such watermarks locally is overstating what is technically possible.
- What hidden characters does it find?
- Zero-width characters (ZWSP, ZWNJ, ZWJ, word joiner, BOM), bidirectional controls (LRM, RLM, embeddings, isolates, overrides), variation selectors (U+FE00–FE0F and the supplementary range), Unicode tag characters (U+E0000–E007F), special spaces (no-break and narrow no-break), and soft hyphens — each reported with code point, name, and position.
- What are Unicode tag characters and why do they matter?
- A deprecated Unicode block that mirrors ASCII invisibly: each tag character maps to one ASCII character but renders as nothing. That makes them ideal for smuggling hidden instructions into text — a documented prompt-injection technique against AI assistants. This tool decodes the hidden message so you can see exactly what was embedded.
- Will cleaning break my emoji?
- No. Zero-width joiners and variation selectors inside emoji sequences (like family emoji or ❤️) are recognized as normal usage, shown as green badges, and kept by default. Aggressive mode strips them too, which decomposes multi-person emoji into individual ones.
- Is my text uploaded anywhere?
- No. Scanning, decoding, and cleaning are pure client-side JavaScript — your text never leaves the browser.
- How is this different from the AI Text Cleaner?
- AI Text Cleaner focuses on typographic cleanup: em dashes, smart quotes, markdown residue, plus invisible characters. This checker is a forensic scanner: it shows where every hidden character sits, separates emoji usage from suspicious insertions, and uniquely decodes hidden tag-character messages. Use the cleaner to polish AI output; use this to inspect suspicious text.