Skip to main content
HTML Validation

“&” did not start a character reference. (“&” probably should have been escaped as “&”.)

About This HTML Issue

Unescaped & characters in HTML content or attribute values must be written as &.

In HTML, the & character signals the start of a character reference (like &, <, or ©). When the parser encounters a bare & that isn't followed by a valid reference, it produces a parse error. Browsers usually recover and display the & as intended, but the markup is technically invalid.

This most often appears in URLs with query string parameters (e.g., ?page=1&sort=asc) or in visible text like "Tom & Jerry". In both cases, every literal & must be escaped as &.

HTML examples

Invalid

<!-- Bare & in an href -->
<a href="search?category=books&sort=title&page=2">Results</a>

<!-- Bare & in visible text -->
<p>Fish & Chips</p>

Valid

<!-- Escaped & in an href -->
<a href="search?category=books&amp;sort=title&amp;page=2">Results</a>

<!-- Escaped & in visible text -->
<p>Fish &amp; Chips</p>

The rendered output is identical in both cases. Browsers display &amp; as & to the user, and links work correctly with &amp; in href values. The HTML parser converts it back to a literal & before making the HTTP request.

Find issues like this automatically

Rocket Validator scans thousands of pages in seconds, detecting HTML issues across your entire site.

Help us improve our guides

Was this guide helpful?
🌍 Trusted by teams worldwide

Validate at scale.
Ship accessible websites, faster.

Automated HTML & accessibility validation for large sites. Check thousands of pages against WCAG guidelines and W3C standards in minutes, not days.

Scheduled Reports
API Access
Open Source Standards
$7 / 7 days

Pro Trial

Full Pro access. Cancel anytime.

Start Pro Trial →

Join teams across 40+ countries