Invisible Character Remover
An “invalid character” error on a username, a password field or a filename is almost always one specific thing: an invisible character riding along in text you copied rather than typed. This free remover finds it, names it and strips it in your browser — paste, check the count, click once.
Cleaning happens in your browser: that text never leaves this page, and there is no upload, no account and no limit. Rewrite is the exception — that one sends your text to our server.
Where an invisible character remover actually gets used
- Usernames and display names rejected for "invalid characters" despite looking completely normal in the box you typed them into.
- Filenames that won't save, won't sort next to similar ones, or silently create a second, near-identical file instead of overwriting the first.
- URL slugs that 404 despite looking identical, character for character, to a slug that works.
- Spreadsheet cells that fail a validation rule with no visible reason, usually because a paste carried a non-breaking space or a byte-order mark in with it.
In every one of these, the fix isn't retyping the text more carefully — you can't see the character you'd be retyping around. It's running the text through something built to find it.
One click, nothing kept back
Press Clean once and every character on the list below is gone from that pass — there's no partial removal and nothing left for a second click to catch. Paste the result back in afterwards if you want to confirm it: because the tool never touches a character with a visible shape, a second pass over already-cleaned text will always come back "Clean", by definition.
The short list of what counts as invisible here
- Zero-width space, zero-width joiner and non-joiner — no width, no glyph, but they split words and break exact matches.
- Left-to-right and right-to-left marks, and the related embedding and override characters — used to control text direction, invisible either way.
- The byte-order mark — often the very first character of a file exported from a Windows tool, and the reason a parser can fail on line one.
- Non-breaking and other odd Unicode spaces — look identical to a normal space, but won't match one in a search or a comparison.
- Unicode tag characters and the private-use block — rarer, but exactly the kind of thing a username field trips over.
That's the short version, for when you just need the cleaning done. For the complete list with code points and where each one typically comes from, see the full invisible characters reference.
Questions
Will removing invisible characters fix a "username already taken" or "invalid characters" error?
For "invalid characters", often yes — that error usually means the system spotted something in your paste it doesn't allow, and an invisible character is a very common cause. "Already taken" is a different problem — it means someone else has that name, visible characters and all.
Does this work on filenames, not just body text?
Yes — paste the filename into the box the same as any other text. The check doesn't care what the text is for.
Can I use this to generate an invisible character, not just remove one?
No, it only works in one direction: finding and removing invisible characters that are already in text you pasted. If you need a blank-looking character to paste into a name or bio somewhere, you'd need a generator, not a remover.
Is there a limit to how much text I can clean?
No — no account, no upload, no limit. Everything happens in your browser tab.
Is it safe to paste a password in to clean it?
The cleaning itself never leaves your browser, but as a general habit it's still worth avoiding pasting real passwords into any web page you don't strictly need to. If a password has an invisible character stuck to it from a copy-paste, retype it by hand instead.
What this tool cannot remove
There are two different things people call an "AI watermark".
- Invisible and typographic characters. This tool removes named characters that carry no visible glyph at all, as defined by the Unicode standard — not a number we made up. It also turns different space variants, including the narrow no-break space, into an ordinary space. Curly quotes and dashes go through a separate, optional step — typographic replacements, switched on by default; turn that option off and they stay exactly as typed. It also clears the three Unicode private-use ranges, including the tag range U+E0000–U+E007F used to hide data in plain text — those ranges hold no standard characters of their own, so we describe them rather than dress them up as a character count.
- A statistical watermark in the word choice itself. Google's SynthID-Text, live in Gemini since May 2024, is documented to change no characters at all, so no character cleaner — ours included — has anything to catch. Anthropic has marked Claude's output the same way since 2 August 2026, to comply with the EU AI Act, but its own explanation (support.claude.com) confirms only that the mark exists, not how it works — so we can't promise it is built the same way SynthID is. What we can say: a character cleaner like this one only ever touches Unicode characters, and no watermark that relied on those would survive an ordinary copy-paste, so there is nothing here for it to remove either way. As of 10 September 2026, OpenAI's own content-provenance page lists a text watermark for neither ChatGPT nor its API.
If a tool promises to strip "the AI watermark" without making this distinction, it is describing the first thing while letting you believe it does the second.
Related tools
It is one cleaner behind all of these pages — the same characters, the same button. Only the explanation around it changes, so pick whichever matches your problem.
- Clean text — the main tool, with the full list of everything it removes.
- Invisible characters — the full reference list, with code points.
- Hidden characters — for diagnosing text that looks fine but isn't.
- Text cleaner — the broader question of what kind of cleaner this is.
- Pricing — what stays free and what a pass adds, and who builds this.