
You can see the word. It is right there in paragraph three. You press Ctrl+F, type it exactly, and Word tells you there are no matches. You retype it slowly. Still nothing. You start wondering whether you have lost the ability to read.
You have not. There is a character inside that word which renders as nothing, and your search — which compares strings exactly — is correctly reporting that the thing you typed does not appear in the document.
Key Takeaways
Why it happens
Find-and-replace does exactly one thing: it compares the sequence of characters you typed against sequences in the document. It has no concept of what the text looks like. If the document contains analy + U+200B + sis and you search for analysis, those are two different strings, and the search is right to fail.
The invisible character got there because you copied from something that renders HTML — most often a chat interface. The copy path flattens rendered formatting into plain text, and characters that were doing layout work in the browser land in your document as literal content. There is more on the mechanism in ChatGPT hidden characters.
The same failure has a second, sneakier cause: space-like characters. If a phrase contains a non-breaking space (U+00A0) where you expect an ordinary space, then searching for results show fails while the phrase sits there looking completely normal. This one is nastier than the zero-width case because the character does render — as a space, identical to the one on either side of it.
Confirming it in thirty seconds
Pick the word that will not match and try these in order.
Arrow-key through it. Put the caret before the first letter and press the right arrow one keystroke at a time. Count the presses against the letters. If the caret stops somewhere without visibly moving, there is a zero-width character at that position.
Search for half of it. If analysis finds nothing but analy finds it immediately, the break is right after the part that matched.
Search for the character itself. In an editor with regex support — VS Code, Sublime, Notepad++, or Word's own wildcard mode — search for \x{200B} or the range [\x{200B}-\x{200D}\x{FEFF}\x{00A0}\x{202F}]. Every hit is an invisible character. In Word specifically, turning on formatting marks with Ctrl+Shift+8 will reveal non-breaking spaces as a degree-like symbol, though it will not show you zero-width characters at all.
Paste it somewhere that shows bytes. Any hex viewer, or a browser console with [...str].map(c => c.codePointAt(0)), will show you the truth immediately.
The fix that does not work
Retyping the word by hand fixes that one instance. It does not fix the eleven other places in the document with the same problem, and you will not find those until each one wastes its own half-hour. The characters arrived in bulk with a paste, so they are distributed through everything that came from that paste.
Manual find-and-replace on the character itself gets closer, but has two failure modes people hit constantly:
- You cannot type the character into the search box. You have to paste it from somewhere or use regex mode, and most people give up here.
- You delete the space-like ones. Removing a non-breaking space rather than replacing it with a normal space welds two words together —
resultsshow— and now you have introduced a new error that your spellchecker will catch but your reader might not.
That second point is the reason a naive strip-all-invisible-characters script is worse than doing nothing. The correct operation is different per character: delete the zero-width ones, substitute an ordinary space for the space-like ones.
The fix that works
| Character | Code point | Correct action |
|---|---|---|
| Zero-width space | U+200B | Delete |
| Zero-width non-joiner | U+200C | Delete |
| Zero-width joiner | U+200D | Delete |
| Word joiner | U+2060 | Delete |
| Byte-order mark | U+FEFF | Delete |
| Soft hyphen | U+00AD | Delete |
| Non-breaking space | U+00A0 | Replace with a space |
| Narrow non-breaking space | U+202F | Replace with a space |
| Thin space | U+2009 | Replace with a space |
Applying that table to a whole document in one pass is what the cleaner on the PassMyEssay homepage does before it does anything else. Paste the document, hit Clean, copy the result back. Every character in that table is handled with the correct action for its type, and your text is otherwise untouched.
If you would rather see the problem before fixing it, switch to AI Phrase Detector — it tags every hidden character where it sits, so you get a map of your own document rather than a silent repair.
While you are in there
The invisible characters are the mechanical problem. There is usually a second one riding along in the same paste, and it is the one your reader actually notices: the phrasing. Text that came out of a chat window tends to open with a stock connective, run em dashes at three times the natural rate, and hold every sentence at the same length.
None of that breaks your search function. All of it changes how the document reads. Related: why AI writing sounds robotic, how to edit an AI paragraph.
Try PassMyEssay free → Fix every hidden character in the document at once, not one word at a time.
Keep Reading
Related guides
ChatGPT Hidden Characters: What Is Actually In Your Copied Text
The invisible characters that ride along when you copy out of ChatGPT — what each one is, what it breaks, and how to get rid of them before you submit.
Zero-Width Spaces: The Invisible Character Breaking Your Document
What a zero-width space is, why it appears in text copied from AI chat interfaces, and the specific things it breaks in Word, WordPress, and SEO tools.
Why Claude Artifacts Paste Badly Into Word and Google Docs
Copying out of a Claude Artifact gives you a rendered document, not plain text. What comes along, why it fights your template, and how to get clean text out.
Does ChatGPT Watermark Its Output? A Straight Answer
Separating what OpenAI actually does from what the internet claims — no hidden signature, two real traces, and what each one means for your document.
Make your draft clearer
Use PassMyEssay to rewrite AI-assisted text responsibly, check weak sections, and keep your meaning intact.
Try PassMyEssay