There’s a message hidden in this sentence that you can’t see.
That’s not a typo waiting to be found — it’s a real technique security researchers have tracked since 2024. Unicode, the character-encoding standard behind every screen in the world, includes a small set of characters that are technically present in a string of text but render as nothing at all. A sentence can contain twenty of them and look, to the human eye, identical to a sentence that contains none.
For years, these “invisible characters” lived a mostly harmless life — blank WhatsApp messages, empty-looking gaming usernames, clean spacing in an Instagram bio the platform would otherwise strip out. That’s still the most common use today.
But over the past two years, security teams have documented the same characters hiding malicious content from human eyes while staying perfectly readable to software — including, more recently, to AI systems. A phishing link can look clean and still scramble how a spam filter reads it. A block of code pasted into an AI assistant can look empty in one spot and still contain an instruction the assistant will follow.
The tool is the same. The intent is what changed.
What’s Actually Going On
Here’s the part most people never think about: every character you type has a number behind it. The letter “A” is Unicode value U+0041. Your keyboard doesn’t know that, but your browser, your phone, and every server your text passes through do.
A handful of Unicode values were designed to carry no visual output at all — spacing controls, direction markers for languages like Arabic, and a few zero-width connectors used in typography. They’re legitimate. They’re also invisible, which means a copy-pasted block of text can carry them without anyone noticing.
That’s the pain point security teams keep running into: you can’t proofread what you can’t see. A URL that looks fine, a username that looks empty, a paragraph pasted from an unknown source — all of them can carry extra characters that only software reads. Most of the time it’s harmless. Sometimes it’s a spam filter getting quietly bypassed, or an AI tools being fed an instruction buried where no human reviewer would think to look.
Where This Has Already Happened
This isn’t theoretical — it’s been caught in the wild more than once.
Phishing emails. In 2025, researchers flagged a wave of attacks — nicknamed “Shy Z-WASP” — where scammers inserted zero-width characters into malicious links. To a person, the link read normally. To a spam filter scanning for known-bad URLs, the pattern was broken up just enough to slip through.
AI coding assistants. The one drawing the most attention right now. Zero-width characters can hide entire instructions inside a block of code or a pasted paragraph — invisible to a human reviewer, but read and followed by an AI assistant. One documented case hid a working prompt injection inside what looked like a single blank line.
None of this needs a sophisticated attacker. The characters are freely available and well documented — and, uncomfortably, identical to the ones used for a blank Instagram bio.
Why This Isn’t Just a Security-Team Problem
You don’t need to run a SOC to be affected by this.
If your business accepts customer messages, form submissions, or pasted content from outside sources, you’re already accepting text you can’t fully see — text that can quietly break a search function, corrupt a spreadsheet import, or let an impersonator’s username slip past a filter checking for exact matches. And if anyone on your team pastes documents or code into an AI tool, the AI is reading characters your eyes skip right over.
The fix isn’t complicated. It just requires knowing the gap exists.
How to Actually Check
The good news: catching this is simple once you know to look.
Any suspicious link, pasted paragraph, username, or block of text can be checked in seconds using a free invisible character viewer — paste the text in, and any hidden Unicode gets highlighted with its exact codepoint and name, so you know precisely what’s sitting inside content that looked completely blank a second ago.
A few habits make this a non-issue in practice:
- Before trusting a link, especially one forwarded from an unfamiliar source, paste the raw URL into a checker rather than just eyeballing it.
- Before pasting content into an AI tool — code, a document, an email you’re asking it to summarize — run it through a quick scan if the source isn’t fully trusted.
- When cleaning up copy-pasted content from PDFs or old documents, the same check clears out formatting artifacts that cause unrelated headaches, like broken searches or spreadsheet import errors.
None of this requires technical skill. It’s the same one-paste, one-look process either way — the only difference is what you’re looking for.
The Same Tool, Two Uses
It’s worth ending where this started: the characters behind both stories — the harmless and the malicious — are identical. The same Unicode values used to send a blank WhatsApp message or build an empty-looking gaming username, the kind generated by any free invisible text generator, are what a phishing email or a poisoned AI prompt relies on to stay hidden.
That’s not a reason for alarm. It’s a reason to know the difference exists — and now that you do, spotting it takes about five seconds.



