How can I identify invisible characters in my text?
Paste your text into the viewer above. Every invisible character is revealed in place as a labeled badge — you see a U+200B where a zero-width space sits between two letters, or a U+00A0 where a non-breaking space hides between words. The counter below the box lists each type found and how many times it appears, so you can tell at a glance whether a string is clean. If the text came from a PDF, a website, or an AI chat, check the spots where words look glued together or where a line breaks oddly — that is where hidden characters usually sit.
Does ChatGPT generate hidden characters?
Sometimes, yes. ChatGPT, Claude, and other AI chats can emit zero-width spaces, non-breaking spaces, and other invisible Unicode characters inside otherwise normal answers — you only notice when a paste breaks your document layout, a search misses, or a checker flags odd characters. Paste any AI answer into this invisible character detector to see exactly which hidden characters it contains, then strip them in one click before the text goes anywhere else.
Can you give me a list of invisible Unicode characters?
The table above lists the ones this viewer detects — zero-width space (U+200B), zero-width joiner and non-joiner (U+200D, U+200C), no-break space (U+00A0), soft hyphen (U+00AD), word joiner (U+2060), byte order mark (U+FEFF), bidi marks (U+200E–U+200F, U+202A–U+202E), and the narrow, thin, en, em, and ideographic spaces — the characters that actually show up in copied text from websites, PDFs, Word, and AI chats. The rest of the Unicode list is rare in everyday pastes.
How do I type an invisible character?
You can't type one from a regular keyboard — invisible characters have no key. People who need one (for a blank username or an empty-looking message) copy it from a character tool instead. This page goes the other way: it finds and removes invisible characters already hiding in your text. If you pasted something that looks empty but still counts as characters, the viewer above will show you what it actually contains.
Is my text uploaded anywhere?
No. The viewer runs entirely in your browser — detection, counting, and stripping all happen locally with plain character rules. There are no server calls, no uploads, and no logs; you can disconnect from the internet after the page loads and everything still works. That makes it safe for contracts, unpublished drafts, and internal documents: the text you paste never leaves your device, and nothing is stored when you close the tab.
What's the difference between viewing and removing invisible characters?
Viewing shows you what is inside the text without changing it — each hidden character appears as a labeled badge with its code point and name, so you can document a bug or understand why a paste broke. Removing (the Strip button) deletes the zero-width and formatting characters and converts invisible spaces to regular spaces, leaving your words untouched. For anything beyond hidden characters — Markdown, HTML, smart quotes — use the Remove Formatting tool.
Why do hidden characters break search, code, and copy-paste?
Because computers compare bytes, not appearances. A zero-width space inside a word makes two identical-looking strings different, so search and find-and-replace miss. A non-breaking space inside a number is not a digit or a regular space, so parsers reject it. A BOM before a JSON brace is not valid JSON. And bidi marks can reorder what you see without changing what is stored. The characters are invisible to you, but every tool downstream sees them.