Invisible Character Detector
Paste any text to reveal the invisible unicode characters hiding inside it. The Analyze tab lists every non-ASCII code point with its official unicode name and how many times it appears; Visualize shows you exactly where each one sits in the sentence.
Statistics appear here once you paste some text.
What counts as an invisible character?
Any code point that occupies no visual width or renders identically to a normal space. The common families are zero-width characters (U+200B–U+200D, U+FEFF), word and function joiners (U+2060–U+2064), bidirectional formatting marks (U+200E, U+202A–U+202E), variation selectors (U+FE00–U+FE0F), and lookalike spaces such as the non-breaking space (U+00A0) and thin space (U+2009).
Why invisible characters matter
They break exact-match search, corrupt CSV and JSON parsing, silently fail string comparisons in code, and inflate character counts against a limit. They are also the mechanism behind prompt-injection smuggling and text watermarking — a message can carry a whole hidden payload encoded in variation selectors while looking completely ordinary.
Where they come from
Copying out of a PDF, a rendered web page, Word's autoformatting, emoji with a variation selector attached, right-to-left text mixed into English, and AI chat interfaces that inject formatting hints. Most are harmless accidents; a few are deliberate.
Frequently asked questions
+ − How do I find invisible characters in a string?
Paste it above and open the Analyze tab. Every non-ASCII code point is listed with its unicode name, U+ code and count, so you can see at a glance whether the text contains anything hidden.
+ − How do I remove invisible characters?
The Clean tab strips them as you type. Zero-width and formatting characters are deleted outright, and invisible spaces are normalised to a regular space so word boundaries survive.
+ − Can invisible characters hide a message?
Yes. Because unicode has hundreds of zero-width code points, arbitrary data can be encoded in them and pasted inside ordinary-looking text. This is the basis of unicode steganography and of several AI text watermarking proposals.
More free tools
Claude Text Watermark Remover
Claude's watermark lives in word choice, not hidden characters. Rewrite word choice to disrupt it. Free, runs in your browser.
ChatGPT Watermark Remover
Detect and strip invisible unicode, zero-width spaces and hidden markers from ChatGPT text. Free and entirely in your browser.
Em Dash Remover — Strip Em Dashes From AI Text
Remove em dashes, en dashes and two-em dashes from AI text, or swap them for plain hyphens. Free, instant, no upload.
Zero Width Space Remover
Remove zero width spaces, joiners, non-joiners and byte order marks from your text instantly. Free, runs in your browser.
AI Text Cleaner
Strip invisible unicode, em dashes, smart quotes and messy whitespace from AI output in one pass. Client-side, no upload.
Free Text-Cleaning MCP Server
A free hosted MCP server giving your agent text-cleaning tools. Install in Claude Code, Cursor or VS Code in one line.
Stop AI Using Em Dashes — Skills & Prompts
Install a Claude Skill or paste custom instructions to stop ChatGPT, Claude and Gemini using em dashes and AI filler.
C2PA Metadata Remover
Remove C2PA provenance metadata, EXIF and XMP from AI-generated images. Re-encodes in your browser; files never uploaded.
Related guides
Em Dash vs En Dash vs Hyphen
The difference between the em dash, en dash and hyphen, when to use each, and how to type them on Mac and Windows.
How to Type an Em Dash (—)
Every em dash shortcut: Mac (Option+Shift+-), Windows (Alt+0151), Word, Google Docs, iPhone, Linux and HTML.
Why Does AI Use So Many Em Dashes?
ChatGPT and Claude overuse the em dash badly. The real reason it happens, why it signals AI writing, and how to fix it.
Does ChatGPT Watermark Its Text?
OpenAI built a ChatGPT text watermark and never shipped it. What is confirmed, what is myth, and how to check your text.