Text below readable size

html.zero-font

Text set at a font size too small for a person to read at any zoom, while the characters remain in the document.

How the text is hidden

A font-size declaration resolves to a length, the length is converted to points, and the point size is compared against the published sub-readable threshold. The unit table beneath that comparison is where this technique actually lives: px, pt, pc, in, cm, mm, q, em and rem are read as absolute lengths, and %, vw, vh, vmin and vmax are resolved on font-size specifically, because the same token means something different on width.

Why a model still reads it

Size is a rendering property. The glyphs are laid out and painted; a text extractor returns the characters with no size attached, so a model reads a sentence a reviewer sees as a smudge or nothing at all.

What we do about it

reasonFor converts the resolved pixel size to points and returns sub-readable when it is at or below limits.subReadableMaxFontSizePt, read from the rule pack — the comparison is in points and the threshold is never a literal in this file, after a divergence that once had HTML comparing pixels against a literal while every other format applied the published threshold, so HTML returned text as clean and certified that another format called hostile.

How often it fires

0.75% of 400 real pages from 400 distinct hosts (Common Crawl) — pages, not documents, measured 2026-08-21.

This is an alert-volume number and nothing else. It says how often the alarm sounds on documents as found — not how often it is right, and not whether what it found was harmless. Documents as found may themselves carry concealment. Read it against the population named above rather than as a property of documents in general.

Seen in the wild

16 Jul 2026 · Dark Reading · incident
1M+ Emails Use Hidden Text to Dupe AI Security Filters

Over a million phishing emails padded their HTML with filler text hidden three ways at once — zero font size, a container with zero height and width, and overflow pushed off-screen — so filters reading the markup saw harmless words while the reader saw the lure.

3 Mar 2026 · Unit 42, Palo Alto Networks · research
Fooling AI Agents: Web-Based Indirect Prompt Injection Observed in the Wild

Twenty-two distinct payload techniques found on real malicious sites — zero font size, elements pushed 9,999 pixels off screen, display:none, attribute cloaking and prompts tucked inside SVG — aimed at everything from ad-review evasion to forced transactions. The SVG case reached us as `clean` until engine 0.263.0.

10 Jul 2025 · 0DIN · vendor disclosure
Phishing For Gemini

An email hid an instruction inside a zero-size white span, and Gemini's "summarise this email" obediently appended a fabricated Google security warning telling the reader to call an attacker's phone number.

Every recorded incident, across all techniques.

next

Check your own file

Three commands: a key, credit, a verdict.

Start with the API