The job
What the Claude zero-width space remover keeps
Most tools competing for this term are whitespace tools wearing a different name. They collapse runs of spaces, trim line ends or strip whitespace entirely. If your text is prose that is fine. If your text is a config file, a snippet or a Markdown document, it is a silent corruption.
This route removes 14 invisible Unicode characters and does nothing else. Indentation survives. Trailing spaces survive, if you had them. Blank lines survive. Punctuation survives. There are no option checkboxes because there is nothing to configure: one button, one behaviour, running in your browser with no upload, no account and no cap on length or runs.
The failure
Why one invisible character breaks a build
A zero-width space occupies a character slot and renders nothing. Every comparison your toolchain performs is byte-level, so the string in the file and the string on your screen stop being the same thing. Nothing errors in a way that names the cause.
That is the expensive part. The symptom is always somewhere downstream: a diff that shows a change nobody made, a linter pointing at a column that looks empty, a database row that refuses to match a query, a URL that resolves to nothing. Each one costs an hour before anyone thinks to check the characters.
How to
How to run the Claude zero-width space remover
Run it on the raw paste before any editor touches it. Reformatting first will often strip the characters incidentally and leave you unsure whether they were ever there.
- Step 1
- Paste the text or the file contents. No length cap applies. Try a sample loads a contaminated example if you want to see the behaviour first.
- Step 2
- Press Remove hidden characters. The footer reports how many characters shorter the result is, which is zero when the paste was already clean.
- Step 3
- Copy the result back into place. Nothing else in the text moved, so a diff will show only the removals.
Workflow
Where this belongs in the pipeline
It is local and unmetered, so the cost is a couple of seconds. These are the points where it pays for itself.
- Assistant output into a repo
- Code, YAML, JSON and commit messages. Run it before the commit, not after the review confuses everyone.
- Copied text into an identifier
- Slugs, filenames, lookup keys, environment variable names. These fail silently and specifically.
- Content into a CMS field
- Meta fields, tags and URLs are matched literally, so one invisible character makes the entry unreachable.
- Data into a spreadsheet
- Two cells that look identical and will not join. Run it on the pasted column before you build the lookup.
- Not on prose for a reader
- If the text is only ever going to be read by a person, none of these characters matter.
Scope
What comes out, and what stays in
The list is fixed at 14 and it is worth knowing the shape of it before you rely on it.
- Out, deleted
- Zero-width space, non-joiner, joiner and word joiner, byte-order mark, soft hyphen, and five bidirectional controls including both overrides.
- Out, replaced with a space
- No-break space, narrow no-break space and hair space. Substituted rather than deleted so words do not run together.
- Stays: emoji joiners
- A joiner between two emoji is composing a glyph, so it is preserved. Only stray joiners are removed.
- Stays: all whitespace
- Spaces, tabs, line endings and blank lines are identical in the output. This is the point of the route.
- Stays: everything wider
- Variation selectors, directional marks and isolates, invisible math operators and the Mongolian vowel separator are outside the 14 and are not removed.
Careful
Text you should check before cleaning
Zero-width spaces mark word breaks in scripts that do not use visible spaces, including Thai, Myanmar, Khmer and Japanese. In those languages the character is carrying information, and removing it is a loss rather than a fix.
The zero-width non-joiner controls letter joining in Persian and in several Indic scripts, so the same caution applies. In the other direction, ICANN prohibits zero-width spaces in domain names because they enable a homograph attack, where a malicious URL looks identical to a legitimate one. In anything that becomes a link, there is no benign reading.
Limits
What the Claude zero-width space remover will not do
It does not remove Claude's text watermark. Anthropic's published explanation says nothing is added to the text and there are no hidden characters, so a character remover has nothing to work on. Treat this as text hygiene rather than as a way to hide how something was written.
It also does not report. There is no scan view, no per-character explanation and no count of anything except how much shorter the result is. If you want to see what is in the text before you change it, that is the detector route rather than this one. No file upload, no batch mode and no API either.
In practice
Who runs this, and how often
Engineers moving assistant output into source control. Technical writers whose Markdown is built by a pipeline that treats whitespace as structure. Operations people pasting generated config. Anyone whose editor does not show invisible characters and whose toolchain very much does.
Because it is unmetered and local, it works as a reflex rather than a decision. Paste, remove, copy, carry on. A zero result is common and costs you nothing.