AI text cleaner
AI-generated text carries characters you cannot see: zero-width spaces, joiners, bidi marks, soft hyphens and spaces that are not spaces. Paste it here to find them, see exactly what was there, and copy out clean text.
- No signup required
- Runs in your browser
- Nothing is uploaded
Off by default. Invisible characters are always removed; this switch only changes typographic characters that some people want to keep.
Your cleaned text appears here.
Runs entirely in your browser. Nothing you paste is uploaded or stored.
What hidden characters actually do
They are invisible and they are not neutral. A zero-width space inside a word stops search, find-and-replace, spell-check and diff tools from matching it, so the same sentence appears to be two different strings. A soft hyphen renders as a hyphen in one editor and vanishes in another, so the same paragraph disagrees with itself about spelling. A bidirectional control reverses the visual order of text around it, which is how a string that looks innocent in a browser turns into something else when it reaches a database. U+2028 and U+2029 are worse than invisible: paste one into JavaScript or JSON and the script breaks with a syntax error that points at a line that looks empty. None of this is malware. It is the debris of text that has been assembled, tokenised, copied between systems and pasted back.
How the cleaner works
Every character you paste is examined by codepoint and sorted into one of seven groups. Each group is reported with a count and the exact codepoints found, for exampleU+200B (3), U+00A0 (1), so the result is auditable rather than a black box that says “cleaned”. Removal is targeted: zero-width characters, bidi controls, soft hyphens, control codes and variation selectors are deleted; unusual spaces and line separators are normalised to a plain space or a newline so your paragraph structure survives. Everything else, including every visible word, is untouched. The optional switch converts curly quotes, en and em dashes and ellipses to ASCII, and is off by default because that is a different decision from removing what you cannot see.
When this matters
Three places, mostly. First, publishing: content pasted from a chat window into a CMS can arrive with invisible characters that later break an excerpt, a meta description or an RSS feed. Second, engineering: a config value, a test fixture or a translation string with a stray zero-width character fails in ways that cost an afternoon. Third, compliance and accessibility: invisible characters are read aloud by some screen readers as nothing at all, or as a pause, which is confusing when they sit inside a word. Running the cleaner before paste is cheaper than debugging after.
What cleaning does not fix
Honest boundary: a clean paste is not a visible one. Removing hidden characters will not improve how ChatGPT, Perplexity or Google describe you, because those systems are deciding which pages to retrieve and quote, not which strings are tidy. That is a different problem with a different fix: crawlable content, clear structure, and the third-party sources an answer engine trusts. Grade a page with the AI answer-readiness checker, then set your AI crawler rules so the engines can reach it, and check the evidence on what actually moves an AI answer before you spend a budget on it.