Saltar al contenido principal
WHATWG HTML Living Standard §13.5 2,125 referencias canónicas con nombre Códigos numéricos decimales y hexadecimales

Entidades HTML y referencias de caracteres

Las referencias de caracteres HTML (llamadas comúnmente entidades HTML) representan caracteres en el marcado HTML mediante nemónicos predefinidos o puntos de código numéricos de Unicode. Las referencias con nombre existen para un conjunto finito y autoritativo de 2,125 caracteres canónicos definidos por el WHATWG HTML Living Standard, mientras que las referencias numéricas decimales (&#[dec];) y hexadecimales (&#x[hex];) pueden representar cualquier valor escalar válido de Unicode. Utilice las referencias de caracteres para escapar con seguridad los delimitadores sensibles a la sintaxis (&, <, >, ", ') o para especificar caracteres cuando la codificación del código fuente está restringida.

2,125 Referencias canónicas con nombre
106 Alias heredados del analizador
93 Secuencias de múltiples puntos de código
1,112,064 Escalares Unicode (numéricos)

Entidades HTML comunes y referencia rápida para desarrolladores

Las referencias de caracteres HTML más utilizadas en desarrollo web, tipografía, fórmulas matemáticas y símbolos monetarios. Haga clic en cualquier formato de código para copiarlo al instante en el portapapeles.

&
Ampersand (HTML syntax delimiter)
Con nombre
Dec
Hex
<
Less-Than Sign (Tag open)
Con nombre
Dec
Hex
>
Greater-Than Sign (Tag close)
Con nombre
Dec
Hex
"
Quotation Mark (Double quote)
Con nombre
Dec
Hex
'
Apostrophe (Single quote)
Con nombre
Dec
Hex
 
No-Break Space (U+00A0)
Con nombre
Dec
Hex
©
Copyright Symbol
Con nombre
Dec
Hex
®
Registered Sign
Con nombre
Dec
Hex
™
Trade Mark Sign
Con nombre
Dec
Hex
€
Euro Currency Sign
Con nombre
Dec
Hex
£
Pound Currency Sign
Con nombre
Dec
Hex
¥
Yen Currency Sign
Con nombre
Dec
Hex
°
Degree Symbol
Con nombre
Dec
Hex
±
Plus-Minus Sign
Con nombre
Dec
Hex
×
Multiplication Sign
Con nombre
Dec
Hex
÷
Division Sign
Con nombre
Dec
Hex
∞
Infinity Symbol
Con nombre
Dec
Hex
→
Rightwards Arrow
Con nombre
Dec
Hex
♥
Black Heart Suit
Con nombre
Dec
Hex
—
Em Dash
Con nombre
Dec
Hex

Caracteres sensibles a la sintaxis y escape consciente del contexto

HTML define cinco caracteres delimitadores reservados que provocan cambios de estado del analizador: & (introductor de entidades), < (apertura de etiqueta), > (cierre de etiqueta), " (delimitador de atributo) y ' (delimitador de atributo). Escapar estos caracteres es esencial para evitar ambigüedades de análisis y vulnerabilidades de Cross-Site Scripting (XSS). Que el escape sea obligatorio depende estrictamente del contexto de análisis.

Car. Entidad con nombre Decimal Hex Unicode Por qué se escapa y riesgo de análisis
& U+0026 Initiates character references. An unescaped & followed by text resembling an entity name (e.g. &copy;) will be parsed as a character reference unexpectedly.
< U+003C Initiates HTML tag open syntax. In text content, a raw < causes the HTML tokenizer to enter tag-open state.
> U+003E Closes HTML tags. In modern HTML text content, raw > does not open or break tags, but escaping prevents ambiguous delimiter interpretation.
" U+0022 Terminates double-quoted attribute values prematurely. Safe as literal character in text content.
' U+0027 Terminates single-quoted attribute values prematurely. Safe as literal character in text content.

Requisitos de escape dependientes del contexto

La especificación HTML establece restricciones de escape diferentes según el lugar del documento en el que aparezca el carácter:

<p>Texto del cuerpo</p>

Contenido textual HTML

Dentro del texto del cuerpo de elementos HTML estándar (p. ej. párrafos, spans, encabezados):

  • & → Debe escaparse como &amp; para evitar el análisis involuntario de entidades.
  • < → Debe escaparse como &lt; para evitar que el texto posterior se interprete como un nuevo nombre de etiqueta.
  • > → Se recomienda como &gt;, aunque técnicamente está permitido salvo que vaya precedido de dos guiones o de marcado de cierre.
  • " y ' → Seguros sin escape en el texto del cuerpo.
attr="value"

Atributos con comillas dobles

Dentro de valores de atributo entre comillas dobles (p. ej. title="...", href="..."):

  • " → Debe escaparse como &quot; (termina prematuramente el valor del atributo si no se escapa).
  • & → Debe escaparse como &amp; cuando va seguido de un carácter de nombre o de una almohadilla.
  • < y > → Seguros entre comillas, pero se recomienda escaparlos por coherencia.
  • ' → Seguro sin escape entre comillas dobles.
attr='value'

Atributos con comillas simples

Dentro de valores de atributo entre comillas simples (p. ej. title='...'):

  • ' → Debe escaparse como &apos; o &#39; (termina prematuramente el valor del atributo si no se escapa).
  • & → Debe escaparse como &amp;.
  • " → Seguro sin escape entre comillas simples.
  • < y > → Seguros entre comillas, se recomienda escaparlos.
attr=value

Atributos sin comillas (peligroso)

En atributos sin comillas (p. ej. class=main):

  • Espacios, tabuladores, saltos de línea → Estrictamente prohibidos (rompen la tokenización).
  • " ' = < > ` & → Deben escaparse o evitarse estrictamente.
  • Mejor práctica: ponga siempre todos los valores de atributos HTML entre comillas dobles. Nunca use atributos sin comillas para contenido dinámico.

Directorio de referencias de caracteres HTML

Directorio autoritativo y conforme a los estándares de todas las 2,125 referencias de caracteres con nombre canónicas del WHATWG, junto con sus representaciones numéricas exactas decimales (&#[dec];) y hexadecimales (&#x[hex];). Haga clic en cualquier valor para copiarlo al portapapeles.

Car. Referencia con nombre Código decimal Código hexadecimal Punto de código Categoría Copiar
Æ Symbols
& Common
Á Symbols
Ă Symbols
 Symbols
А Symbols
𝔄 Symbols
À Symbols
Α Greek
Ā Symbols
⩓ Math
Ą Symbols
𝔸 Symbols
⁡ Symbols
Å Symbols
𝒜 Symbols
≔ Math
à Symbols
Ä Symbols
∖ Math
⫧ Math
⌆ Symbols
Б Symbols
∵ Math
ℬ Symbols
Β Greek
𝔅 Symbols
𝔹 Symbols
˘ Symbols
ℬ Symbols
≎ Math
Ч Symbols
© Common
Ć Symbols
⋒ Math
ⅅ Symbols
ℭ Symbols
Č Symbols
Ç Symbols
Ĉ Symbols
∰ Math
Ċ Symbols
¸ Symbols
· Symbols
ℭ Symbols
Χ Greek
⊙ Math
⊖ Math
⊕ Math
⊗ Math
Página 1 de 43

Referencias con nombre frente a códigos numéricos (decimal y hexadecimal)

HTML proporciona tres sintaxis distintas para referenciar caracteres: las referencias con nombre mnemónicas, las referencias decimales en base 10 y las referencias hexadecimales en base 16. Comprender las capacidades y los límites de cada formato es fundamental para la ingeniería web moderna.

Car. Nombre del carácter Referencia con nombre Referencia decimal Referencia hexadecimal Punto de código
© Copyright Sign U+00A9
& Ampersand U+0026
€ Euro Sign U+20AC
😀 Grinning Face (No named entity) Ninguna (solo numéricas) U+1F600
&name;

Referencias de caracteres con nombre

Sintaxis: &[nombre]; (p. ej. &copy;, &amp;)

  • Vocabulario finito: existen exactamente 2,125 nombres canónicos en la especificación del WHATWG. Ninguna otra entidad con nombre es válida.
  • Estricta distinción de mayúsculas: los nombres de los caracteres distinguen mayúsculas de minúsculas. &Epsilon; (Ε) produce la letra griega Épsilon mayúscula (U+0395), mientras que &epsilon; (ε) produce la letra griega épsilon minúscula (U+03B5).
  • Legibilidad: altamente mnemónica y fácil de leer y auditar por humanos en las plantillas de código fuente.
  • Limitación de emojis: los emojis modernos (como 😀 U+1F600 o ❤️ U+2764) tienen cero referencias con nombre. Escribir &grinning; o &heart; se renderizará literalmente como texto roto.
&#dec;

Referencias numéricas decimales

Sintaxis: &#[decimal]; (p. ej. &#169;, &#8364;)

  • Cobertura total de Unicode: puede representar cualquiera de los 1,112,064 valores escalares de Unicode (de U+0000 a U+10FFFF, excluidos los sustitutos U+D800..U+DFFF).
  • Soporte universal de analizadores: compatible con el 100 % de los analizadores HTML, XML, SVG y SGML sin requerir catálogos de entidades externos ni DTD.
  • Conversión a base 10: requiere convertir los puntos de código hexadecimales de Unicode a decimales (p. ej. U+20AC → 8364).
  • Trampa del Windows-1252 heredado: en los antiguos documentos SGML/HTML 4, los números 128–159 solían usarse para caracteres de Windows-1252 (p. ej. &#128; para €). Los analizadores HTML5 modernos remapean automáticamente estos puntos de control, pero los autores que siguen el estándar deben usar los puntos de código Unicode reales (p. ej. &#8364;).
&#xhex;

Referencias numéricas hexadecimales

Sintaxis: &#x[hex]; o &#X[hex]; (p. ej. &#xA9;, &#x20AC;)

  • Alineación directa con Unicode: se corresponde directamente con los puntos de código Unicode sin conversión matemática (p. ej. U+20AC → &#x20AC;).
  • Preferidas para herramientas de desarrollo: dado que las especificaciones de Unicode, las tablas de fuentes y los IDE referencian los caracteres en hexadecimal (U+XXXX), las referencias hexadecimales reducen la carga cognitiva y los errores de conversión.
  • 'x' y dígitos sin distinción de mayúsculas: el indicador inicial puede ser x o X, y los dígitos hexadecimales a-f o A-F se analizan de forma equivalente en los agentes de usuario conformes.
  • Ceros a la izquierda opcionales: &#x41;, &#x0041; y &#x000041; se evalúan todos como 'A' (U+0041).

Secuencias de entidades de múltiples puntos de código (las 93 referencias compuestas)

Un error común entre los ingenieros de software es creer que cada referencia con nombre de HTML se corresponde exactamente con un punto de código Unicode. En realidad, el WHATWG HTML Living Standard define exactamente 93 referencias de caracteres con nombre que se expanden en secuencias de dos puntos de código Unicode distintos.

Arquitectura avanzada del analizador

Cómo procesan los analizadores HTML las secuencias compuestas

Cuando un tokenizador conforme a HTML5 encuentra una entidad con nombre como &NotEqualTilde;, el estado de referencia de caracteres con nombre coincide con la cadena completa y emite dos valores escalares Unicode distintos: U+2242 (Asymptotically Equal To) seguido inmediatamente de U+0338 (Combining Long Solidus Overlay).

Car. Referencia con nombre Secuencia de puntos de código Unicode Código decimal compuesto Código hexadecimal compuesto
≂̸ &NotEqualTilde; U+2242 U+0338 &#8770;&#824; &#x2242;&#x338;
=⃥ &bne; U+003D U+20E5 &#61;&#8421; &#x3D;&#x20E5;
∩︀ &caps; U+2229 U+FE00 &#8745;&#65024; &#x2229;&#xFE00;
≡⃥ &gne; U+2265 U+0338 &#8805;&#824; &#x2265;&#x338;
≤⃥ &lne; U+2264 U+0338 &#8804;&#824; &#x2264;&#x338;

Implicaciones técnicas críticas:

1. No existe un equivalente numérico único

Una sintaxis de entidad numérica HTML (&#[dec];) solo acepta un único valor escalar entero. Para representar numéricamente una entidad de múltiples puntos de código, debe concatenar dos referencias numéricas adyacentes (p. ej. &#8770;&#824;).

2. Errores de cálculo de longitud de cadenas en UTF-16

En JavaScript, C# y Java, las secuencias compuestas pueden constar de 2 o 3 unidades de código de 16 bits (especialmente si se combinan con pares sustitutos). Utilice siempre Array.from(str) o iteradores conscientes de Unicode en lugar de str.length para contar caracteres.

3. Normalización de marcas combinantes

La mayoría de las referencias compuestas emparejan un operador o símbolo matemático base con una marca diacrítica combinante (como U+0338 Combining Long Solidus Overlay). Los motores modernos de renderizado de fuentes (HarfBuzz, DirectWrite, CoreText) los conforman en un único glifo visual.

Mejores prácticas: edición directa en UTF-8 frente a escape de caracteres

En la ingeniería web moderna, ¿cuándo se deben escribir caracteres Unicode directamente y cuándo hay que usar referencias de caracteres HTML? Seguir las directrices basadas en los estándares evita la hinchazón del código fuente, mejora el mantenimiento y elimina vulnerabilidades de seguridad.

!

Cuándo SÍ son obligatorias las referencias de caracteres

Las referencias de caracteres son estrictamente necesarias en cuatro escenarios concretos:

  1. Delimitadores de sintaxis: &, < y > sin escape en el contenido textual, o comillas (", ') dentro de valores de atributo coincidentes.
  2. Caracteres invisibles / no imprimibles: espacio duro (&nbsp;), exclusor de no separación de anchura cero (&zwnj;) y conector de anchura cero (&zwj;). Escribirlos en bruto puede provocar su eliminación accidental o su reformateo por parte de los linters de IDE, minificadores y formateadores de código.
  3. Glifos ambiguos: caracteres visualmente indistinguibles de los caracteres ASCII (p. ej. el signo de interrogación griego &quest; / ; frente al punto y coma ;, o la 'a' cirílica minúscula frente a la 'a' latina).
  4. Entornos restringidos a ASCII: transporte de correo SMTP heredado de 7 bits, herramientas SGML antiguas o sistemas incapaces de procesar flujos UTF-8 multibyte.
⚠

La trampa de las entidades sin punto y coma y la corrupción de URL

Peculiaridad histórica del WHATWG

El WHATWG HTML Living Standard documenta 106 entidades con nombre heredadas que históricamente permitían omitir el punto y coma final (p. ej. &amp, &copy, &gt, &lt, &quot, &reg). Existe únicamente por compatibilidad con las páginas web rotas de los años noventa.

Parámetro de consulta de URL roto: <a href="search.php?category=books&copy=true">View Books</a>
Cómo lo analizan los navegadores: search.php?category=books©=true ← ¡Clave del parámetro corrompida al glifo de copyright!
Edición correcta según el estándar: <a href="search.php?category=books&amp;copy=true">View Books</a>
Herramienta web interactiva

Codificador y decodificador por lotes de entidades HTML

¿Necesita codificar documentos completos, sanear entradas de usuario o decodificar entidades HTML ofuscadas de vuelta a texto UTF-8 sin escape? Use el codificador de entidades HTML online y gratuito de CopyCharacter. Convierta al instante con opciones para entidades con nombre, códigos decimales (&#[dec];) o códigos hexadecimales (&#x[hex];).

✓ 100 % de privacidad en el cliente ✓ Conforme al Living Standard del WHATWG ✓ Conversión por lotes bidireccional

Cumplimiento de estándares y procedencia del conjunto de datos

Cada referencia de caracteres, mapeo de puntos de código y comportamiento del analizador documentado en esta página deriva directamente de las especificaciones oficiales mantenidas por el Web Hypertext Application Technology Working Group (WHATWG), el World Wide Web Consortium (W3C) y el Unicode Consortium.

Fuente autoritativa WHATWG HTML Living Standard §13.5
Punto de conexión de la instantánea de datos html.spec.whatwg.org/entities.json
Claves registradas totales 2,231 entradas
Formas canónicas de edición 2,125 referencias terminadas en punto y coma
Alias de compatibilidad heredados 106 entradas históricas sin punto y coma
Secuencias de múltiples puntos de código 93 referencias compuestas
Verificación SHA-256 del conjunto de datos 00289ceb64acb3071f854c90e80c72f519bb2c3af5e8801f2e60468637cd911f

Citas normativas:

  • WHATWG HTML Living Standard §13.5 Named character references — https://html.spec.whatwg.org/multipage/named-characters.html#named-character-references. La autoridad definitiva sobre las referencias de caracteres con nombre válidas, los estados del tokenizador del analizador y los algoritmos de consumo de referencias de caracteres.
  • W3C Recommendation: HTML 5.2 §8.1.4 Character references — https://www.w3.org/TR/html52/syntax.html#character-references. Detalla las reglas de sintaxis de las referencias de caracteres numéricas decimales, numéricas hexadecimales y con nombre.
  • El Consorcio Unicode: The Unicode Standard, Version 18.0 — El capítulo 3 (Conformance) establece la validez de los valores escalares Unicode (U+0000..U+D7FF y U+E000..U+10FFFF) y las prohibiciones de los límites de los sustitutos.