Skip to content
AI Origin CheckRun a free check

Clean text, kept intact

Invisible Character Remover

Paste text, remove the invisible characters that break search, comparison, and parsing, and copy the clean result. The cleaner is deliberately conservative — it will not silently destroy the joiners that Arabic, Persian, Indic scripts, and emoji depend on.

Updated

0 characters0 words
Text watermark limitation

Claude’s described statistical watermark is not made from hidden Unicode characters. Until an official detection mechanism is released, this scanner reports only directly observable characters and artifacts.

Your text stays in this tab. No text, findings, or cleaned output is stored or transmitted.

After the check

How to use this check

  1. Paste the text you want cleaned

    Everything stays in your browser. Nothing is uploaded, logged, or stored.

  2. Scan to see what is actually there

    The tool lists each invisible character by name and count before removing anything, so you know what you are about to change.

  3. Use safe mode, or select categories

    Safe mode removes byte order marks and soft hyphens only. Advanced mode gives you a checkbox per character type.

  4. Copy the cleaned text

    One click puts the result on your clipboard. The original is left untouched in the box.

Why most invisible-character removers are unsafe

The typical online cleaner runs a regular expression that deletes every character in the Unicode format category and calls it done. For English text that works fine. For a large fraction of the world's writing systems it produces silently corrupted output.

In Arabic and Persian, the zero-width non-joiner controls whether adjacent letters connect. Persian compound words and verb prefixes rely on it. Delete it and the word joins where it should not, producing a misspelling that a native reader sees immediately and a non-reader never notices.

In Hindi, Bengali, Tamil, and other Indic scripts, the zero-width joiner and non-joiner control conjunct formation — whether two consonants merge into a ligature or stay separate. These are meaningful spelling distinctions, not formatting noise.

And emoji sequences are literally built from joiners. A single family or profession emoji is several code points held together by U+200D. Strip the joiners and it decomposes into unrelated symbols.

What safe mode removes, and why only that

Safe mode targets characters that are transport artifacts in essentially all contexts: the byte order mark and the soft hyphen. Neither carries semantic meaning in running text, and both reliably cause downstream problems.

The byte order mark is an encoding signal that leaks into content during file conversion. It commonly sits invisibly at the start of a string, where it breaks JSON parsers, CSV headers, and exact-match comparison.

The soft hyphen marks a permissible hyphenation point. Copying text out of a PDF or a justified document scatters them through words. They are invisible until the text reflows, at which point words appear to break at random.

When to use advanced mode instead

Advanced mode exposes a checkbox for every character type the scan found, so you can make the call per category rather than accepting a default.

Reach for it when you are cleaning a field where nothing invisible belongs — a product SKU, a database key, an email address, a filename, a code identifier. In those contexts even a linguistically meaningful character is almost certainly an accident, and the cost of leaving it in is high.

Stay in safe mode when you are cleaning prose that might contain non-Latin script or emoji, and you cannot read it well enough to verify what you are removing.

  • Cleaning a key, identifier, or code — advanced mode, remove aggressively.
  • Cleaning English prose copied from a PDF — safe mode is usually enough.
  • Cleaning text containing Arabic, Persian, Hebrew, or Indic script — safe mode, and check with a native reader before going further.
  • Cleaning text containing emoji — never remove U+200D.

The problems clean text actually solves

Search that finds nothing despite the words being visibly present. A non-breaking space or a zero-width character inside the search term makes an exact match fail while the text looks correct.

Spreadsheet lookups that return no match on values that are obviously identical. This is one of the most common invisible-character bugs, and it can survive for months because the two cells look the same.

Parsers that reject valid-looking input. A byte order mark at the start of a JSON or CSV file is a classic, and the error message rarely points at the real cause.

Deduplication that misses duplicates, and joins that silently drop rows. Both are the same underlying problem: strings that display identically and compare as unequal.

Frequently asked questions

Is my text uploaded when I clean it?

No. Scanning and cleaning are pure functions running in your browser. The text never leaves the tab, is not logged, and is discarded when you close the page.

Will cleaning break my emoji?

Not in safe mode. Emoji sequences are held together by zero-width joiners, which safe mode never touches. In advanced mode, leave the zero-width joiner unchecked if your text contains emoji.

Will this break Arabic, Persian, or Hindi text?

Safe mode will not. Those scripts rely on zero-width joiners and non-joiners for correct spelling, and safe mode leaves them in place. Be careful in advanced mode if you cannot read the text.

Does removing invisible characters change how the text looks?

In Latin prose, usually not at all — that is the point. In scripts with joining behaviour, or in text with emoji, removing the wrong character changes rendering noticeably.

Why is there a zero-width space in my text at all?

Most often from copying out of a web page or PDF. Sites insert them to let long strings wrap, and PDF extraction preserves typesetting hints. Messaging apps and CMS editors add them during encoding conversion.

Primary sources

The technical claims on this page follow the published specifications below rather than our own assertions.

Keep going