Ready, runs in your browser
0 chars · 0 words
bytes leaving your device
0
words changed
0
no signup, no run limit
Free

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.

FAQ

Everything answered. Nothing to click open.

How do I remove zero-width spaces from Llama text?

Paste it into the box and press Remove hidden characters.

Is it free?

Yes, entirely free. No signup, no trial, no usage limit.

Is my Llama text uploaded anywhere?

No. Removal happens on your own machine in JavaScript.

Why do different Llama frontends produce different hidden characters?

Each wraps the raw output in its own markdown renderer, and each makes different formatting choices.

Does it remove more than just U+200B?

Yes, the zero-width joiner and non-joiner, the word joiner, the byte-order mark, the soft hyphen, and non-breaking, narrow and hair spaces.

Will removing these characters break my emoji?

No, a joiner holding a multi-part emoji together is left untouched.

Does finding a hidden character mean Llama watermarked my text?

No, these characters are almost always a rendering side effect, not a deliberate marker.

Is there a real AI watermark this tool can detect?

No, statistical token watermarking leaves no single character to find.

Why does search fail on Llama text that looks right?

A hidden character between two visible ones is invisible but present, so a plain search doesn't match across it.

Can hidden characters break code from a Llama model?

Yes, one inside a variable name or string can cause an error with no visible cause.

Will my word count change after cleaning?

Character count can drop. Word count only changes if a hidden character was standing in for a real space.

Is it safe to run on code output?

Yes, indentation and line breaks are preserved.

Does it work on phones?

Yes, it works the same in any modern mobile browser.

How is this different from the Llama watermark cleaner?

This removes invisible characters in one click. The watermark cleaner also flags AI-sounding phrasing.

Does it touch smart quotes or dashes?

No, those are visible characters, left exactly as typed.

Is there a batch mode or an API?

Not yet.

Is it safe for confidential text?

Yes, nothing is transmitted or retained.

Why does a spreadsheet lookup fail on a Llama value?

A hidden character in the cell can make it fail to match despite looking identical.

Does it work with ChatGPT, Claude, Gemini, Grok and Perplexity too?

Yes, the scan looks at the characters, not the source.

Can a hidden character break a regression test snapshot?

Yes, a snapshot taken through one frontend can differ from a run through another purely on a hidden character, even though the actual text is unchanged.

Does a minimal frontend introduce fewer hidden characters?

Generally yes, since it passes the model's own output through with less rendering, while a heavily styled chat app has more opportunity to introduce one.

Why does GitHub show a hidden character warning on code copied from Llama?

Code hosts scan for exactly this category of character and flag a file that contains one, even when the visible code looks completely normal. Cleaning it here first avoids the warning altogether.