Invisible Character Detector & Remover
Your text
What are invisible characters?
Unicode contains dozens of characters that render as nothing at all: the zero-width space (U+200B), joiners, direction marks, byte order marks, and whole blocks like the tag characters, which are invisible copies of the ASCII alphabet. They exist for good reasons: joining emoji into families, shaping Arabic and Persian words, mixing right-to-left and left-to-right text. But because they survive copy-paste while staying unseen, they also travel where nobody intended them to: into source code, spreadsheets, passwords, usernames and search queries, where they quietly break exact matching and comparisons.
How do I check text for invisible characters?
Paste the text into the box above. The scanner walks every character and flags anything that renders as nothing or as a deceptive lookalike space, then shows each one inline, exactly where it sits, with its Unicode code point and name. Joiners that are doing legitimate work inside an emoji sequence are marked as harmless instead of lumped in with the suspicious ones, so a thumbs-up does not read as an alarm.
How do I remove invisible characters from text?
Paste the text, untick anything you want to keep, and copy the cleaned result. Every group has its own switch, so you can strip the zero-width characters but keep the special spaces, or the other way round; special spaces become regular spaces instead of vanishing, so words never run together. It works the same on ChatGPT and other AI output as on text from Word, Excel or a PDF: paste it here, clean it, paste it back.
Does ChatGPT add invisible characters to text?
Sometimes, and it is disputed whether that is deliberate. In April 2025, users noticed that OpenAI's newer models were inserting narrow no-break spaces (U+202F) into longer texts; OpenAI told journalists it was a quirk of how the models learned to write, not a watermark. What is certain: AI output tends to carry typographic characters most keyboards never produce, like curly quotes, em dashes and non-breaking spaces, and detectors key on them. Google's SynthID works differently: it watermarks the word choices themselves, so no character cleaner can remove it. This tool removes the hidden characters and can optionally straighten the AI-style punctuation; what it cannot do is make text read as human-written.
Are invisible characters dangerous?
They can be. The Trojan Source attack (CVE-2021-42574) uses direction-control characters to make source code read one way to a human reviewer and compile another. Tag characters can smuggle an entire hidden ASCII message inside innocent-looking text, a trick used to sneak instructions past AI-chatbot filters; this tool decodes any such payload and shows it to you. And zero-width characters have been used to fingerprint documents, embedding an invisible pattern per recipient so a leaked copy identifies who leaked it. The same idea as metadata hidden in photos, just embedded in the text itself.
Which characters does this tool detect?
Seven groups: zero-width characters (ZWSP, ZWNJ, ZWJ, word joiner, BOM, invisible math operators, Hangul fillers), direction controls (RLO, LRM, embeddings and isolates), lookalike spaces (no-break, thin, hair, ideographic, the other fixed-width spaces, and the blank braille pattern that fakes empty messages), soft hyphens, non-printing control and format characters, tag characters, and variation selectors. Removal is per-group, emoji sequences are protected by default, and special spaces become regular spaces rather than disappearing. If you work with escaped strings instead, the Unicode Escape Converter turns any of these characters into visible \uXXXX notation and back.