Llama invisible characters
What the Llama invisible character detector does
Paste in text copied out of a Llama-based chatbot and this tool finds the zero-width and non-printing Unicode characters inside it, without changing how the text looks. It answers the question people type into a search bar, why does this AI text have hidden characters, with a specific list of what it found, not a vague warning about secret markers.
This is a server tool, not a browser script. Your text is sent to our AI server to be checked; you get 5 free checks in any rolling 24 hours. There's no account to create, and no text you paste is needed twice. What comes back is a list of findings, not an accusation, and this page explains honestly why they're there before getting into what to do about them.
The characters
The 14 hidden characters this detector checks for
Every character this tool looks for is an ordinary Unicode codepoint with a legitimate technical purpose, grouped here into seven families:
- Zero-width space (U+200B)
- Occupies a character slot and renders nothing. The single most common invisible marker in copied AI output.
- Zero-width joiners (U+200C, U+200D)
- The non-joiner and joiner, sometimes left over from how rich text renders certain characters and emoji.
- Word joiner (U+2060)
- An invisible joiner that prevents a line break at that point, often near a bolded phrase.
- Byte-order mark (U+FEFF)
- A marker meant to sit at the start of a file, occasionally left mid-response by an export or copy path.
- Soft hyphen (U+00AD)
- Invisible until a line wraps there, then a hyphen appears in a word that never had one.
- Non-breaking spaces (U+00A0, U+202F, U+200A)
- Look identical to a normal space, behave differently in code, slugs and search.
- Bidi controls (U+202A to U+202E)
- Five directional embedding and override characters that can quietly reorder mixed-direction text.
How it works
How to check Llama text for invisible characters in three steps
It takes less time than reading the result does. There's no formatting to strip out first, and nothing to configure before you run the check: paste, run, read.
- Step 1
- Copy the text from whichever app is running Llama, using its own copy option, not by selecting it by hand. That's the version most likely to carry hidden characters.
- Step 2
- Press Check text. It goes to our AI server once, gets scanned for hidden Unicode characters, and the result comes back to the page.
- Step 3
- Read each flagged character and where it sits. Nothing about the text is changed; this page only reports what it found.
Where they come from
Why Llama text carries hidden characters, and why it varies by app
This is worth being straightforward about. Llama is an open-weight model that runs inside many different products, Meta's own apps, WhatsApp and Instagram integrations, third-party chatbots, and self-hosted playgrounds, each with its own rich-text renderer. Converting that formatting to plain text on copy is where most of these characters slip in, and which characters show up can differ from one Llama-based app to the next.
The same kinds of characters show up when you copy out of a Word document, a PDF or a translated page, none of which involve Llama. Finding a hidden character in text copied from a Llama-based app tells you something about that specific copy path. It doesn't, by itself, prove the words came from Llama rather than another source, or that anyone marked the text on purpose.
What a finding actually means
Does finding a hidden character prove Llama wrote the text?
No, and this tool won't claim otherwise. A hidden character is a formatting artefact of the copy path, not a Llama-specific fingerprint. The same characters show up in human-typed documents exported from Word, translated text and PDF copy-paste, with no chatbot anywhere in the chain.
It's worth separating this from a different, real area of research: statistical, token-level watermarking, where a model's word-choice probabilities are tuned in a pattern a statistical test can detect, not by inserted characters. No character-level scan, including this one, can see it. A claim that a Llama-based app hides a watermark findable by scanning for zero-width characters describes something different from how real watermarking research works.
Why you might see a flag
Why human-written text can trigger this too
Plenty of ordinary human workflows produce the same characters as a Llama-app copy-paste, which is why a flag here isn't evidence of who wrote the underlying words.
- Messaging app formatting
- WhatsApp, Instagram and other chat apps render rich text of their own and can leave formatting characters behind on copy.
- Translation tools
- Machine and professional translation software frequently leaves directional or joining characters behind.
- PDF copy-paste
- Extracting text from a PDF often introduces stray characters the original document never displayed.
- Other chat interfaces
- ChatGPT, Claude and other assistants render rich text too, and can leave similar characters behind on copy.
- CMS and rich-text editors
- Switching between rich text and plain text views in a CMS is a common source of leftover formatting characters.
Why it matters anyway
What these hidden characters actually break
These characters cause real problems once text moves somewhere that parses it strictly. A zero-width space inside a heading splits a keyword, so a page's slug and visible title stop matching. A byte-order mark stuck inside a JSON file breaks the parser, and non-breaking spaces confuse diffing tools and find-and-replace.
Pasting straight from a Llama-based app into a CMS or code editor is exactly where these problems surface. Checking first turns a category of confusing formatting bugs into a non-event.
Who uses it, and the free checks
Who uses this detector, and how many free checks you get
Writers, editors and developers pasting Llama-based output into a CMS, an email or a codebase use this to catch formatting problems before they cause one. This is a server tool: your text travels to our AI server to be checked, then travels back, which is why there's a limit.
You get 5 free checks in any rolling 24 hours, tracked without an account. If you're cleaning the same kind of text repeatedly and want no limit, the site's zero-width space remover and watermark cleaner run entirely in your browser instead, with no server round trip and no daily cap.