Zerowidth CleanerMeasured guides

CLAUDE WATERMARK REMOVER · MARKDOWN TEST

Can U+200B before a tab block a Markdown code block?

Removing a leading U+200B let the following tab act as indentation and changed the paragraph to an indented code block.

Tested 12 November 2026 · Synthetic fixture · CommonMark.js 0.31.2

What changed in the preview

The tab stays in the source during cleanup. Its role changes because the tab now begins the line. Inspect the first character as well as the tab when an editor visually aligns a line that the Markdown preview treats as prose.

What this test covers

A tab elsewhere advances to a tab stop and need not supply four columns of indentation. Compare the two rendered outputs below with the original and cleaned source.

Measured source and preview

Original Markdown

\u200B	let x = 1;

Cleaned Markdown

	let x = 1;

The original source and its preview contain a literal U+200B, displayed below as \u200B. The HTML is shown as text.

Before cleanup

<p>\u200B	let x = 1;</p>

After cleanup

<pre><code>let x = 1;
</code></pre>

Reproduce locally

Save reproduce.cjs and tested-app.js together. Run npm install --no-save commonmark@0.31.2, then node reproduce.cjs. Compare with the recorded input, output and HTML. The test uses the homepage callback with a minimal DOM. It does not use Claude output or test statistical watermark detection.

See the CommonMark specification and another measured Markdown case.