Zerowidth CleanerAll measured guides

CLAUDE WATERMARK REMOVER · PRACTICAL TEST

Does this cleaner remove Unicode tag letters?

Our synthetic U+E0061, U+E0062 and U+E007F fixtures remain after cleaning. A separate U+200B is removed. This homepage does not decode or remove tag-character messages.

Tested October 6, 2026 · v24.19.0 · 3 measured runs

Open the Claude text cleaner · Full measured data

Code-point comparison for Tag letters

Measured inputs and outputs

These are locally constructed test strings, not evidence that Claude inserts these characters. We executed the saved homepage script snapshot with a minimal DOM harness and compared exact strings. The invisible-checkbox state and dash mode appear in each row. The observations below test this page's specific question. We make no detector-score or statistical-watermark removal claim.

Before and after observations; full code points and strings are in the JSON download.
Fixture and modeInput string and code pointsOutput and cleaner statusObserved before / after
Tag letters
direct string / keep / invisible true
"A󠁡󠁢B"
U+0041 U+E0061 U+E0062 U+0042
"A󠁡󠁢B"
No selected invisible characters found
{"tagCodepoints":["U+E0061","U+E0062"],"selectedMarker":false}
{"tagCodepoints":["U+E0061","U+E0062"],"selectedMarker":false}
Cancel tag
direct string / keep / invisible true
"A󠁿B"
U+0041 U+E007F U+0042
"A󠁿B"
No selected invisible characters found
{"tagCodepoints":["U+E007F"],"selectedMarker":false}
{"tagCodepoints":["U+E007F"],"selectedMarker":false}
Tag plus selected marker
direct string / keep / invisible true
"A󠁡​B"
U+0041 U+E0061 U+200B U+0042
"A󠁡B"
Removed 1 invisible character
{"tagCodepoints":["U+E0061"],"selectedMarker":true}
{"tagCodepoints":["U+E0061"],"selectedMarker":false}

Supplementary characters survive the selected map

We construct the inputs with String.fromCodePoint so their supplementary-plane code points are unambiguous. The tag-letter fixture retains U+E0061 and U+E0062; the cancel-tag fixture retains U+E007F. The mixed fixture loses the actual U+200B and retains its tag letter. The observer lists tag-range code points numerically rather than relying on whether a font draws them. No selected-character finding in the first two cases is therefore compatible with the presence of these retained tags.

Retention does not establish an encoded instruction

Unicode supplies names and properties for these characters, and some text conventions can use sequences of them. Our experiment contains only locally authored short sequences. It does not decode a hidden message, submit prompts to a model or test a security exploit. Supplementary code points also use more than one UTF-16 code unit, so readers should use the full code-point list instead of visually counting glyphs. The observation is that these named code points are outside the homepage deletion map, independent of their source or purpose.

Review the complete sequence before editing

If an application rejects a tag sequence, retain the original and identify the relevant format rule. Consider surrounding emoji or other sequence context before deleting characters indiscriminately. For an unwanted literal tag, use a tool that explicitly lists that exact code point and confirm the resulting value in the destination. The current homepage has no tag-specific decoder or removal toggle. Its status does not prove text free of hidden data, and the retained sequence does not prove Claude or another model inserted it.

Reproduce this test

Save reproduce.cjs and tested-app.js in the same folder. Run the command below with Node.js. The harness prints its runtime, script SHA-256 and every measured row. Compare those rows with the original record. Using a newer script or runtime creates a new experiment; retain the version information with your rerun.

node reproduce.cjs

Reference and next check

Unicode Character Database provides the relevant primary definition. The table and fixture analysis are original measurements. For broader inspection, use our Unicode inspector. Read the scope distinction before interpreting cleanup as a watermark result.