Zerowidth CleanerAll measured guides

CLAUDE WATERMARK REMOVER · PRACTICAL TEST

Does an other plural category prove my cleaned count is valid?

No. Our marked one converts to NaN and receives other. After cleanup it becomes 1 and receives one. Valid 2 and 0 also receive other in English, while Russian selects few and many.

Tested October 13, 2026 · v24.19.0 · 4 measured runs

Open the Claude text cleaner · Full measured data

Code-point comparison for Marked one

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. Destination observations run independently on the exact input and cleaned strings in the recorded Node runtime. 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
Marked one
direct string / keep / invisible true
"1​"
U+0031 U+200B
"1"
Removed 1 invisible character
{"numberLabel":"NaN","finite":false,"english":"other","russian":"other"}
{"numberLabel":"1","finite":true,"english":"one","russian":"one"}
One
direct string / keep / invisible true
"1"
U+0031
"1"
No selected invisible characters found
{"numberLabel":"1","finite":true,"english":"one","russian":"one"}
{"numberLabel":"1","finite":true,"english":"one","russian":"one"}
Two
direct string / keep / invisible true
"2"
U+0032
"2"
No selected invisible characters found
{"numberLabel":"2","finite":true,"english":"other","russian":"few"}
{"numberLabel":"2","finite":true,"english":"other","russian":"few"}
Zero
direct string / keep / invisible true
"0"
U+0030
"0"
No selected invisible characters found
{"numberLabel":"0","finite":true,"english":"other","russian":"many"}
{"numberLabel":"0","finite":true,"english":"other","russian":"many"}

The same category can accompany different numeric states

The observer converts the supplied string with Number, records its textual numeric result and finiteness, then asks English and Russian cardinal plural rules for a category. The marked one yields NaN and other in both before cleanup. Removing U+200B yields the finite number one and category one in both. The ordinary one reference confirms that outcome without an edit. For finite two, English returns other while Russian returns few. For zero, English again returns other and Russian returns many. The table therefore places the numeric validity observation beside the category rather than assuming a category label conveys validity or is the same across locales.

A plural rule chooses a category rather than a message

Our prior numeric-conversion page asks whether a string can become a number. Here we add a separate destination policy: a locale-dependent cardinal category, including the ambiguous other result. Intl.PluralRules does not produce a translated noun or reject invalid application counts on our behalf. The invented inputs are not visitor counts, analytics measurements or quantities from an actual service. We do not test ordinal rules, fractional digits, rounding options, negative values or a complete translation catalog. The locale runtime belongs with the experiment, and the cleaner neither sets it nor chooses the grammatical form. An accepted category result is narrower than successful count validation and correct wording.

Validate the count before selecting its message form

Keep count validation and plural selection as separate steps in a destination that consumes cleaned text. Validate the intended numeric domain, choose the required locale and rule type, then map the returned category to a complete message policy. Do not use other as an error signal: our valid English two and zero controls deliberately share it with NaN. Conversely, receiving one after an edit does not establish that the quantity is correct for a real record. The downloads reproduce four explicit input strings and two locales with exact intermediate numeric observations. They do not create translations, define acceptable business counts or validate every locale. Retain the original spelling when diagnosing where numeric interpretation and message selection diverged.

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

ECMA-402 Intl.PluralRules 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.