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

Grok zero-width space remover

What the Grok 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 Grok on X 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 Grok text in three steps

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

Step 1
Copy the answer from Grok on X or the standalone app, 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 Grok specifically

Why X's rendering slips a hidden character around numbers

X's display logic commonly stops a figure and its unit from breaking across two lines by inserting a non-breaking space between them, a measurement, a price, a percentage. It's a platform-level behaviour, not something Grok's own output does deliberately, but Grok's replies pass through the same rendering as an ordinary post, so they pick it up the same way.

The same platform's automatic linkification of handles, tickers and hashtags can leave a stray invisible character right at the edge of a link boundary too, separate from the visible anchor markup, in a copy taken straight from the timeline.

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, the same family the non-breaking space around a number belongs to. 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.

A figure pulled from a Grok answer with a non-breaking space instead of an ordinary one can fail a numeric parse or a spreadsheet formula expecting plain whitespace, since the two look the same but aren't.

Straight answer

Does finding one of these prove Grok watermarked the text?

No. These are overwhelmingly incidental, produced by how X renders numbers, units and links across the whole platform, not planted on purpose to track the text later. Finding one tells you the text went through X's rendering layer; 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 Grok zero-width space remover, and when

Analysts pulling a figure out of a Grok answer into a spreadsheet use this first, since a non-breaking space next to a number can silently break a formula. Publishing and SEO teams use it when a heading pulled from Grok stops matching its slug for no apparent reason.

Anyone doing programmatic comparison, dedup scripts, data validation, database imports, treats this as a standard first pass on Grok-sourced text before it enters the pipeline.

FAQ

Everything answered. Nothing to click open.

How do I remove zero-width spaces from Grok 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 a Grok answer have a hidden character between a number and its unit?

X's rendering commonly inserts a non-breaking space there to stop the figure and unit breaking across two lines. That's a platform behaviour, not specific to Grok.

Does X's linkification leave hidden characters too?

It can, separate from the visible anchor markup, at the edge of a linkified handle, ticker or hashtag.

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 platform 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 spreadsheet formula fail on a number copied from Grok?

If a non-breaking space sits between the figure and its unit, a parser expecting an ordinary space can fail even though the text looks correct.

Can these characters break code copied from Grok?

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 Grok HTML stripper?

This removes characters that render as nothing. The HTML stripper removes visible tags and links, including X's automatic linkification.

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, Gemini and DeepSeek output too?

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