Text watermark checker
Invisible character detector and Unicode cleaner
An invisible character detector scans pasted text for supported Unicode code points that may not appear on screen. Watermark Tidy reports each type, count, and position before creating a cleaned copy from character types you explicitly select. The check is free, requires no account, and runs in your browser.
Open the private text checkerWhat the detector finds
The checker reads Unicode code points rather than guessing from how text looks. It reports exact matches and their positions so you can review them before removal.
| Category | Examples | Why it may be present |
|---|---|---|
| Zero-width characters | U+200B, U+2060 | Line breaking, copy residue, or hidden markers |
| Joiners and direction controls | U+200C, U+200D, bidi controls | Legitimate scripts, emoji, or text direction |
| Unicode tag characters | U+E0000–U+E007F | Machine-readable tags or intentional encoding |
| Variation selectors | U+FE00–U+FE0F and supplementary selectors | Glyph variants or encoded byte payloads |
| Unusual spaces | Non-breaking and thin spaces | Typography, formatting, or copied documents |
| Mixed-script lookalikes | Greek or Cyrillic letters inside a Latin token | Names, multilingual text, or deceptive substitutions |
How to find and remove invisible characters
- Paste the text. The original remains in the input field and is not uploaded.
- Run the check. Review character names, Unicode code points, counts, and positions.
- Select supported matches. Nothing is selected by default; choose only character types you have reviewed.
- Create a cleaned copy. The tool changes only the selected supported matches and checks the copy again.
- Copy or download. Keep the original available until you confirm the cleaned text still reads correctly.
Hidden Unicode is not the same as a statistical AI watermark
A Unicode checker can prove that a particular code point is present. It cannot prove that ChatGPT, Claude, Gemini, or another model added it. Editors, websites, messaging apps, and document converters can insert the same characters.
Statistical systems such as SynthID-Text operate through patterns in token selection, not a fixed invisible character. A provider verdict requires its matching detector profile and calibration. Removing Unicode characters alone does not remove or disprove a statistical watermark. This checker runs a separate local SynthID Text reference analysis while keeping Claude attribution unavailable until Anthropic publishes compatible parameters.
Read the guide to ChatGPT hidden characters and text watermarks.
Invisible character detector FAQ
What is an invisible character detector?
It scans text code point by code point and reports supported Unicode characters that may not render visibly. This tool shows their names, hexadecimal code points, counts, and positions.
Can hidden Unicode prove that text came from ChatGPT?
No. The same characters can come from formatting, editors, websites, languages, or manual input. A match cannot establish origin or authorship.
Will cleaning change visible text?
It can. Joiners, variation selectors, direction controls, and spaces may affect appearance or meaning. The tool keeps the original, shows findings first, and creates a separate cleaned copy.
Does it remove em dashes or rewrite wording?
No. Visible punctuation and wording are not hidden Unicode watermarks. The cleaner does not paraphrase, humanize, or rewrite text.
Is pasted text sent to a server?
No. The application disables form submission, browser spellcheck, storage, and analytics. Text scanning runs locally; same-origin C2PA verifier assets are loaded only when an embedded image credential is checked.
Sources: Unicode Standard, Chapter 23 and Google DeepMind SynthID. Last reviewed August 13, 2026.