MagicTools
Back

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.