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

Gemini zero-width space remover

What the Gemini zero-width space remover does

A zero-width space takes up a position in a string of text and shows nothing on screen. This app scans text copied out of Gemini, chat window or Docs export, for U+200B and the small set of related invisible characters that usually ride along with it, and removes every one, leaving every visible word untouched.

It's local. The scan and the removal both happen in your browser, so nothing you paste is uploaded, and there's no limit on length or on how often you come back.

That matters specifically for text you can't visually verify. If a hidden character passed through a server before coming back cleaned, you'd have no way to confirm from the result that nothing else happened to it along the way.

Workflow

How to remove zero-width spaces from Gemini text in three steps

There's nothing to preview beforehand, since the whole problem is invisible until you run it.

Step 1
Copy the reply from Gemini or from an exported Doc, and paste it in.
Step 2
Press Remove. It runs instantly, on your own device.
Step 3
Copy the result. Every visible word is exactly as it was.

Why Gemini specifically

Why nested lists and Docs exports leave characters behind

Gemini answers lean heavily on a bolded lead-in followed by indented sub-points, and keeping that indentation visible rather than letting it collapse is exactly the kind of job a non-breaking space handles. A straight copy from the chat window can carry those characters at every indentation level, invisible and indistinguishable from an ordinary space.

Export to Docs adds a second rendering pass on top of the first: the answer becomes an actual Google Docs document with its own way of representing spacing and structure. Text copied back out of that Doc has been through two separate rendering steps, either of which can introduce its own invisible characters.

Scope

This app clears more than just the space named in the title

The zero-width space is the character most people mean by the name, but it's one of a family. This app also removes the zero-width joiner and non-joiner, the word joiner, a stray byte-order mark, the soft hyphen, and the non-breaking, narrow and hair spaces that look like an ordinary gap but aren't.

A joiner found inside a genuine emoji sequence is left alone, since stripping it would visually break the emoji apart, and space-like characters get swapped for a plain space rather than deleted, so word boundaries and line wrapping stay correct afterward.

Why it matters

What these hidden characters actually break

Inside a heading or a slug, one of these characters splits the string for anything comparing it exactly: search, a regex match, a string equality check. Two values that render identically fail to match, because one carries a byte the other doesn't.

This shows up often in text pulled from a Docs export specifically, where a non-breaking space sitting in what looks like ordinary indentation can quietly break a search or a find-and-replace that should have worked.

Straight answer

Does finding one of these prove Gemini watermarked the text?

No. These are overwhelmingly incidental, produced by nested formatting and by the Docs export process, not planted on purpose to track the text later. Finding one tells you the text went through a rendering step somewhere; it says nothing about who wrote it.

Real research into AI text watermarking works differently: it biases which words a model is statistically more likely to pick across a whole passage, a pattern in the writing, not a single hidden character. No character-scanning tool, this one included, can see or touch that.

Who it's for

Who uses a Gemini zero-width space remover, and when

Publishing and SEO teams use it when a heading pulled from Gemini stops matching its slug, or an on-page search returns nothing for text that looks identical to what a reader sees. Anyone who exported a Gemini answer to Docs and reused it elsewhere runs it through here to clear characters from either rendering pass.

Developers pulling Gemini output into a config file or a commit use it too, since a hidden character in an identifier produces a failure with no visible cause.

FAQ

Everything answered. Nothing to click open.

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

Paste it into the box above and press Remove. The invisible characters are stripped, and the result appears on the right.

Is this free?

Yes. No account, no paste limit, no length cap, since it runs on your own device.

Is my text uploaded anywhere?

No. Removal happens entirely in your browser. Nothing is transmitted or logged.

Why does Gemini's nested list indentation carry hidden characters?

Keeping indentation visible rather than letting it collapse is exactly the job a non-breaking space does, and Gemini's answers use a lot of nested indentation.

Does exporting to Docs add more hidden characters?

It can. The export rebuilds the answer with its own rendering, layered on top of the chat window's, so a copy from the Doc can carry characters from either step.

Does it remove more than the zero-width space itself?

Yes, the whole related family: the zero-width joiner and non-joiner, the word joiner, a stray byte-order mark, the soft hyphen, and non-breaking, narrow and hair spaces.

Will it break emoji made of several parts?

No, a joiner holding a composed emoji together is detected and left in place.

Does finding a hidden character mean the text was watermarked?

No. These are almost always incidental byproducts of rendering, not a deliberate marker, and finding one proves nothing about authorship.

Is there a real watermark this can't see?

Yes, statistical token watermarking biases word choice across a whole passage rather than hiding a character. No character-level tool can detect that kind of pattern.

Why does a search on Gemini text fail even though it looks right?

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

Can these characters break code copied from Gemini?

Yes, one inside an identifier or string literal can cause an error most editors won't show you the cause of.

Does my word count change after cleaning?

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

Is it safe on code?

Yes, indentation and line breaks are preserved; only hidden characters are removed.

Does it work on phones?

Yes, the same way in any modern mobile browser.

How is this different from the Gemini HTML stripper?

This removes characters that render as nothing. The HTML stripper removes visible tags and entities, including the Docs export wrapper.

Does it touch smart quotes or dashes?

No, those are visible typography and are left as typed.

Is there a batch mode or API?

Not yet. For several files, paste, remove and copy each in turn.

Is it safe for confidential text?

Yes, nothing is transmitted or retained.

Can I inspect before removing anything?

Paste it in and review; nothing changes until you press Remove.

Does it work on ChatGPT, Claude, Grok and Perplexity output too?

Yes, it scans characters, not sources, so any chat interface's output is covered.