Text tool

Invisible Character Cleaner

Find and remove zero-width characters, bidirectional controls, soft hyphens and look-alike spaces. Runs in your browser; nothing is uploaded.

Remove hidden characters from a text

Also normalise

This removes hidden characters. It does not make machine-written text pass as human-written, and nothing here claims to. There is no reliable label embedded in text describing who wrote it.

What “removing an AI label” actually means

Text does not carry a hidden marker saying who wrote it. There is no watermark that a language model embeds in its output and that a tool can delete afterwards. What does exist is a set of characters that occupy no visible space but do travel with copied text, and those are what this page removes.

If a tool advertises that it “removes the AI label” and makes the text undetectable, it cannot be doing what it says. Detection happens by analysing the words themselves, not by reading a tag attached to them.

The characters this page removes

  • Zero-width characters. U+200B, U+200C, U+200D, U+2060 and U+FEFF have no glyph. They are invisible, they survive copy and paste, and a byte-order mark at the start of a file can break scripts and command-line tools that expect plain ASCII.
  • Bidirectional controls. U+200E and U+200F, U+202A to U+202E and U+2066 to U+2069 reorder text without showing anything. They are what makes source code appear in one order while behaving in another, and they are a genuine security concern when pasted into a terminal or an editor.
  • Soft hyphens. U+00AD marks a place a word may break. Insert enough of them and a word looks intact but no longer matches a plain-text search.
  • Invisible format operators. U+2061 to U+2064 are mathematical operators with no rendering.
  • Non-standard spaces. Non-breaking, en, em, thin, hair and ideographic spaces look identical to a normal space. They are replaced with an ordinary space rather than removed, so words stay separate.

Three characters deliberately left alone

U+115F, U+1160, U+3164 and U+FFA0 are filled with nothing visible, but they are not format characters: they are Hangul filler letters. They are used as a trick to create invisible text, but they are also legitimate parts of Korean writing, and removing them from real Korean text would corrupt it. A cleaner that strips them without asking is not safe to run on any multilingual document.

The normalisation options

These are separate from removal and you can leave them off. Curly quotes become straight ones, which matters when text is destined for code, a database, or a system that expects " and '. En and em dashes become a hyphen. Repeated spaces collapse to one.

Nothing here changes a word. The cleaner does not reword, paraphrase, or otherwise alter what the document says, so the result can be compared against the original line by line.

Where to go next

Copying text into a document usually means a different word count from the one you had, which the word counter reports alongside characters and reading time. If the text still reads awkwardly after cleaning, the text rewriter changes the wording and lists every change. To see how a passage is built rather than what characters it contains, use the writing pattern analyser.

Further reading: Read the full guide: Invisible Character Cleaner