Llama zero-width space remover
What the Llama zero-width space remover does
A zero-width space occupies a position in text and renders nothing at all. This app scans text copied out of a Llama-based interface for U+200B and the small family of related invisible characters that travel with it, and removes them, leaving every visible word exactly where it was.
It runs entirely in your browser. Paste, press the button, copy the result. Nothing is uploaded, there's no account, and there's no limit on how much text you clean.
Why it happens
Why the characters vary by which Llama frontend you used
Llama is a model family rather than a single hosted product, so a reply can reach you through a self-hosted web UI, a desktop app, a hosted playground, or a custom application built on the API. Each wraps raw text in its own markdown renderer, and each renderer's formatting choices can introduce a non-breaking space or a zero-width character as a side effect.
The mixture of invisible characters depends more on which frontend rendered the reply than on anything the underlying model produced. A minimal interface passing the model's own output through with little change is one end of that range; a heavily styled chat app rebuilding the reply as rich HTML is the other, with far more opportunity to introduce a stray character along the way.
Workflow
How to remove zero-width spaces from Llama text in three steps
Nothing to preview beforehand, since the problem is invisible until you run the tool.
- Step 1
- Copy the text from whichever Llama interface you're using, and paste it into the box.
- Step 2
- Press Remove hidden characters. It runs instantly, on your device.
- Step 3
- Copy the result. Every visible word is exactly as it was.
Worth knowing
This clears more than just the zero-width space
The zero-width space, U+200B, is the character most people mean by the name, but it rarely travels alone. This app also removes the zero-width joiner and non-joiner, the word joiner, the byte-order mark, the soft hyphen, and the family of non-breaking, narrow and hair spaces that render as an ordinary gap but are a different codepoint underneath.
A joiner sitting inside a real emoji sequence is left alone, since removing it would visually split the emoji apart.
Why it matters
What these hidden characters actually break
Inside a heading or a URL slug, a hidden character splits the string for anything comparing it byte by byte. Two values that look identical simply fail to match, because one carries a character the other doesn't.
In a pipeline that diffs model output between runs, a hidden character introduced by the rendering layer, not the model, can register as a false difference.
A test suite that snapshots model output for regression testing is especially exposed to this: a snapshot taken through one frontend and compared against a run through another can fail on a hidden character alone, with the actual generated text unchanged.
Straight answer
Does a hidden character mean Llama watermarked the text?
No. Llama is open-weight, with no single controlled copy path through which a deliberate marker could be planted. These characters are almost always a side effect of whichever frontend rendered the text.
Separately, real research into watermarking biases which words a model is statistically more likely to choose, a pattern buried in the writing rather than in any single character. No tool that scans for invisible Unicode can see that.
Who it's for
Who uses the Llama zero-width space remover, and when
Developers building on a self-hosted Llama model run it before comparing output between runs, since a rendering-introduced character can register as a false diff.
Anyone doing programmatic comparison, deduplication or data validation runs Llama-sourced text through here first so identical values actually match.
In code review
Why GitHub might flag Llama-generated code you paste in
Code hosts including GitHub scan files and pull requests for exactly this category of character, hidden or bidirectional Unicode, and show a warning banner when one turns up, even though the visible diff looks completely ordinary. A snippet pasted straight out of a rendering-heavy Llama frontend is a plausible source of exactly that warning.
Cleaning the snippet here before it's committed means the warning never appears in the first place, rather than needing to investigate and explain it after a reviewer flags it.