About This HTML Issue
An unescaped & in an attribute value is followed by the name of a character reference, so the parser turned that text into a different character.
HTML treats & as the start of a character reference such as &, © or ®. A few older names, including copy, reg, para and not, still work without the trailing semicolon. Inside an attribute value, the parser converts one of them when the next character isn't =, a letter or a digit, or when the value ends right after the name. So title="© 2025 Example News" becomes "© 2025 Example News", and href="/news?id=10¶" ends in ¶ instead of ¶, which sends the link somewhere else.
When the name is followed by =, a letter or a digit, as in ?id=10®=europe, the parser leaves the text alone so that old URLs keep working, and the validator doesn't report it. In regular text outside attributes, a reference without its semicolon gets a different message: Named character reference was not terminated by a semicolon.
Escape every literal & as &. If you meant the symbol, end the reference with a semicolon.
Invalid example
<!-- ¶ becomes ¶ and © becomes © -->
<a href="/news?id=10¶" title="© 2025 Example News">Read the report</a>
Valid example
<a href="/news?id=10&para" title="© 2025 Example News">Read the report</a>
Browsers convert & back to a single & before requesting the URL, so the link works exactly as written while the markup stays valid.
Find issues like this automatically
Rocket Validator scans thousands of pages in seconds, detecting HTML issues across your entire site.
Learn more: