HTML Guide
A numeric character reference is pointing to a C1 control code point (U+0080–U+009F), which is disallowed in HTML.
Numeric character references like &#nnn;
or hhhh;
must resolve to valid Unicode characters.
The C1 control range U+0080–U+009F contains non-characters/control codes, so validators flag them.
Common causes: copying Windows-1252 bytes and encoding them as numeric references (e.g., —
for an em dash) or misusing hex values (e.g.,
for a right single quote).
In HTML, use the proper Unicode character, a valid named character reference, or the correct Unicode code point. Examples: use the actual “—” or —
(U+2014), “’” or ’
(U+2019), “€” or €
(U+20AC). If you must use numeric references, use the correct code points: —
or —
for em dash, not —
; ’
or ’
for right single quote, not
.
HTML Examples
Example that reproduces the issue
<!doctype html>
<html lang="en">
<head>
<title>Bad C1 NCR</title>
</head>
<body>
<p>Bad dash: —</p>
<p>Bad quote: ’</p>
</body>
</html>
Fixed example
<!doctype html>
<html lang="en">
<head>
<title>Fixed NCRs</title>
</head>
<body>
<p>Good dash: — or — or —</p>
<p>Good quote: ’ or ’ or ’</p>
<p>Euro: € or € or €</p>
</body>
</html>
Learn more:
Related W3C validator issues
Ensure you’re not using character references that expand to control characters, like , which are not permissible in HTML documents.
In HTML, a character reference allows you to use a specific ASCII or Unicode character in your document. Character references are written using the syntax &#code; where code is either the decimal or hexadecimal code point of the character. Control characters, like U+0002, are non-printable and are not allowed within HTML because they do not represent meaningful text content.
Character references should only be used for printable characters and standard entities. For example, common entities like & and < should be used for special characters like & and <.
Example of Incorrect Usage
The following example shows an HTML snippet where a control character is incorrectly referenced:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Example Page</title>
</head>
<body>
<p>Control character reference: </p>
</body>
</html>
Character references must always start with an ampersand (&) and end with a semicolon (;), for example the < character can be referenced as <.