Your Text Looks Fine But Behaves Wrong? Hidden Characters Are Why
You paste a password into a login form and it fails, even though you typed it correctly. A find-and-replace in your code editor finds nothing, though the word is right there on screen. A spreadsheet VLOOKUP returns no match between two cells that look identical. In most of these cases, the culprit is not a typo. It is an invisible character: a Unicode code point that occupies no visible space but still counts as a character, silently breaking exact matches, validations, and comparisons.
The Invisible Character Detector scans your pasted text against a list of known invisible Unicode code points, including zero-width spaces, non-breaking spaces, soft hyphens, and byte order marks. Every match is highlighted in place and listed in a table with its name, code point, count, and position, so you can see exactly what is hiding in your text. Once you know what is there, tick the cleanup options to remove or convert each type, then copy the cleaned result. If the styled characters themselves are the problem rather than hidden ones, run the output through the Unicode cleaner next.
What exactly are invisible characters, and where do they come from?
Invisible characters are Unicode code points that take up no visible space, such as the zero-width space (U+200B), the non-breaking space (U+00A0), the soft hyphen (U+00AD) and the byte order mark (U+FEFF). They hitchhike in when you copy from websites, Word documents, PDFs and chat apps, carrying invisible formatting into plain text.
Each of these characters has a legitimate job. Websites insert zero-width spaces to suggest line-break opportunities in long strings like URLs. Microsoft Word drops non-breaking spaces around punctuation and between words that must stay together, such as "100 km". PDFs carry soft hyphens left over from justified typesetting, and exported files often begin with a byte order mark that tells software which encoding the file uses. The trouble starts when you copy the text: the formatting characters come along, but their visual context does not, so they turn invisible and start interfering.
A concrete example: you copy a price of "$ 49" from a product page where the space is actually a non-breaking space (U+00A0). Pasted into a spreadsheet, it looks identical to "$ 49" typed with a normal space, but a formula comparing the two cells reports they are different. No amount of staring at the cells reveals why, because the difference is a character your eyes cannot see. The detector catches exactly this kind of mismatch by showing you the name and code point of every hidden character in the text.
Why do invisible characters break passwords, code, and search?
Because computers compare characters by code point, not by appearance. A zero-width space hiding inside a word makes it a different string, so exact-match search, login checks, and URL comparisons fail silently. A non-breaking space in a pasted password or API key breaks authentication, and a soft hyphen can split a word when the text is printed or reflowed.
Developers hit this constantly. A common story: a JSON config value copied from a documentation page fails to parse, or a variable name pasted from a chat message throws a syntax error on a line that looks perfect. The invisible character sits inside an identifier where no whitespace is allowed, and the compiler is the only one that can see it. Running the snippet through the detector before debugging saves the half hour you would otherwise spend retyping the line character by character.
Search is another victim. If you are cleaning a document with find and replace, a zero-width space hiding inside a repeated word means the replacement silently skips every occurrence. Writers and editors who paste quotes from web articles into a CMS run into this when the site search cannot find text that is visibly on the page. Detecting the hidden characters first turns a baffling failure into a one-minute fix.
How do you remove invisible characters once you find them?
Paste the text into the detector and keep the remove zero-width characters option ticked. The tool deletes every U+200B, U+200C, and U+200D it finds, then shows the cleaned text with before-and-after character counts so you can verify the change. For a full cleanup, also convert non-breaking spaces to normal spaces and drop soft hyphens in the same pass.
The before-and-after counts are the proof. If the character count drops by three after cleanup, you know exactly three hidden characters were removed, and you can copy the cleaned text straight into your password field, code editor, or form. You can also download it as a .txt file when you need to reuse the cleaned version later. Because the scan and cleanup run entirely in your browser with JavaScript, nothing is uploaded, which makes it safe for passwords, private documents, and proprietary code.
For text that needs broader repair after detection, chain the tools: convert the non-breaking spaces here, then collapse any leftover double spacing with the whitespace remover, or strip all formatting in one go with the copy-paste cleaner. Each tool handles one layer of the mess, and together they turn hostile pasted text into clean, predictable characters.
How to use the Invisible Character Detector in 4 steps
- Paste your text. Drop the suspicious text into the input box. Anything works: passwords, code snippets, spreadsheet cells, or paragraphs copied from a web page.
- Review the highlighted matches. The tool scans every character and highlights each invisible one in place. Check the results table for the character's name, Unicode code point, count, and exact position.
- Tick the cleanup options you need. Remove zero-width characters, convert non-breaking spaces to normal spaces, or delete soft hyphens. Mix and match the options for the character types you found.
- Copy or download the cleaned text. Compare the before-and-after character counts to confirm the cleanup, then copy the result or download it as a .txt file for reuse.
5 practical tips for hunting invisible characters
- Check pasted passwords and API keys first. If a credential fails even though it looks right, paste it into the detector before resetting anything. A single zero-width space is often the whole problem.
- Scan code that refuses to compile. When a pasted snippet throws a syntax error on a visually perfect line, hidden characters inside identifiers or strings are the prime suspect.
- Look for the BOM at the start of files. Text exported from some editors begins with a byte order mark (U+FEFF) that breaks strict parsers and shows up as a mystery character in concatenated files.
- Suspect Word's non-breaking spaces in data. Text copied from Word documents is full of U+00A0 characters that break spreadsheet lookups and database imports. Convert them to normal spaces before comparing.
- Run the detector before find-and-replace. Hidden characters inside repeated words make replacements silently skip occurrences. A quick scan first guarantees your replacement actually catches everything.
Frequently asked questions
What are invisible characters in text?
They are Unicode code points that occupy no visible space, such as the zero-width space (U+200B), non-breaking space (U+00A0), soft hyphen (U+00AD), and byte order mark (U+FEFF). They slip in when you copy from websites, PDFs, Word, or chat apps, and they break find-and-replace, passwords, code, and form validation with no visible clue.
What is the difference between a zero-width space and a non-breaking space?
A zero-width space (U+200B) is completely invisible and adds no width, often breaking words for search engines and exact-match comparisons. A non-breaking space (U+00A0) looks like a normal space but prevents line breaks and fails strict string comparisons. The detector finds both and lets you convert or remove each type separately.
Can I remove the hidden characters after finding them?
Yes. Tick the cleanup options you want, such as removing zero-width characters, converting non-breaking spaces to normal spaces, or deleting soft hyphens. The cleaned text appears below with before-and-after counts, ready to copy or download as a .txt file.
Why does my pasted text misbehave even though it looks fine?
Hidden characters are the usual cause. A zero-width space inside a word stops exact-match search, a non-breaking space breaks a password or URL, and a soft hyphen can split words when printed. The tool reveals each one highlighted in context with its Unicode name and code point, so you know exactly what to remove.
Is my text uploaded to a server?
No. The scan and cleanup run 100 percent in your browser with JavaScript. Your text never leaves your device, so you can safely check passwords, private documents, and proprietary code.
Ready to try it yourself? It's free, no signup required.
Try the free Invisible Character Detector →