Invisible characters
0
Characters worth inspecting, normalizing, or preserving.
Inspect hidden Unicode formatting, clean accidental characters, and review prose for vague or formulaic patterns. Every check is deterministic and runs in this browser tab.
0
Characters worth inspecting, normalizing, or preserving.
0
Rule-based prompts for human review, not an authorship score.
No tracked invisible characters found.
| Position | Code point | Character | Review |
|---|
Based on observable style patterns such as filler, vague attribution, inflated wording, chatbot scaffolding, and repeated em dashes. Context matters; review rather than blindly accept.
No tracked style patterns found.
Cleanup preserves emoji joiners, variation selectors, and script-shaping joiners by default. Writing edits only shorten a small set of exact filler phrases; they do not invent facts.
Invisible Unicode characters rarely show up in the text you type yourself. They sneak in when text is copied, converted, or generated elsewhere — and then they break things in ways that are hard to see. Four situations come up most often:
Suppose a colleague pastes this line into a chat message, and you copy it into an email:
The revised␣U+200B pricing sheet is attached.␣U+00A0Please review it before Monday.␣U+200B
The same cleanup is deliberately conservative with characters that can change meaning: the emoji 👨💻 stays intact because its zero-width joiner (U+200D) is preserved, not removed.
The writing review adapts a small, transparent set of observations from Wikipedia's “Signs of AI writing” field guide. Wikipedia itself warns that these are descriptive clues, not rules or reliable proof. Unicode names and behavior follow the Unicode Standard.
Anthropic's public documentation says supported Claude models use an imperceptible, model-level text watermark and C2PA metadata for supported files, but it has not published its detector or enough technical detail for independent implementation. This page therefore makes no Claude-removal or detection claim.
The inspector tracks zero-width characters (zero width space U+200B, word joiner U+2060), special spaces (no-break space U+00A0, narrow no-break space U+202F, ideographic space U+3000), bidirectional controls (U+202A–U+202E, U+2066–U+2069), the soft hyphen (U+00AD), the byte order mark (U+FEFF), and a few rarer formatting characters. Tabs, line breaks, and ordinary spaces are not flagged.
No. Model-level statistical watermarks are encoded through token-selection patterns, not hidden Unicode characters, so this tool cannot identify or remove them. Removing invisible characters also does not change how a statistical detector would score the text. This page is not an AI detector and makes no detection or evasion claim — preserve any disclosure or provenance information your school, employer, publisher, or the law requires.
Cleanup only removes characters marked as accidental (for example zero-width spaces and soft hyphens) and normalizes special spaces to ordinary spaces. It preserves characters that can change visible meaning: emoji and script joiners (U+200C, U+200D), variation selectors, and mathematical invisibles. The output is always shown for review before you copy it.
Copy-paste from web pages, office documents, chat apps, and AI-generated output can carry formatting controls — no-break spaces from justified layouts, soft hyphens from hyphenation, language marks from editors, and zero-width characters from text pipelines. In almost all cases they are accidental.
No. Everything runs in this browser tab on a static page. The tool makes no network submission of your text — before you accept analytics consent there are zero external requests, and even with analytics enabled no text content is ever sent.
Yes. The report lists every finding with its position, Unicode code point, and risk level (cleanup, normalize, review, or preserve). Cleanup applies the conservative default — remove accidental controls, normalize special spaces, preserve everything that can change meaning — and you review the output before copying.