Entidades HTML
Concepto de Desarrollo web en Utilidades, conectado con sus herramientas y conceptos vecinos.
Actualizado el 20 de julio de 2026
Las entidades HTML son secuencias de texto que representan caracteres con significado especial en HTML o que no están disponibles en todos los teclados. Empiezan con & y terminan con ;: el navegador las sustituye por el carácter correspondiente al renderizar la página.
¿Para qué sirven?
Hay dos casos de uso distintos:
- Escapar caracteres reservados que el navegador interpretaría como código HTML:
<,>,&,"y'. - Insertar caracteres especiales difíciles de escribir directamente, como el símbolo del euro (
€), el copyright (©) o flechas tipográficas (→).
Los caracteres más comunes
| Carácter | Entidad nombrada | Entidad numérica | Uso |
|---|---|---|---|
< | < | < | Menor que, inicio de etiqueta |
> | > | > | Mayor que, cierre de etiqueta |
& | & | & | Ampersand |
" | " | " | Comilla doble en atributos |
' | ' | ' | Comilla simple en atributos |
| |   | Espacio de no separación |
© | © | © | Copyright |
® | ® | ® | Marca registrada |
™ | ™ | ™ | Trademark |
€ | € | € | Euro |
→ | → | → | Flecha derecha |
× | × | × | Multiplicación |
÷ | ÷ | ÷ | División |
Entidades nombradas vs. numéricas
Las entidades nombradas (<, €) son más legibles. Las numéricas (<, €) siempre funcionan porque referencian directamente el codepoint Unicode. La variante hexadecimal (<) también es válida. En la práctica, con un documento UTF-8 bien declarado, solo necesitas escapar los cinco caracteres reservados del lenguaje HTML.
Escape en JavaScript
Cuando insertas contenido dinámico en el DOM mediante innerHTML, escapa siempre el texto de usuario para evitar ataques XSS:
function escapeHTML(str) {
return str
.replace(/&/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/"/g, '"')
.replace(/'/g, ''');
}
La alternativa más segura es usar textContent en lugar de innerHTML: textContent nunca interpreta HTML y no requiere escape manual.
Las entidades son relevantes también al trabajar con Base64 embebido en data-URLs o con tokens JWT que aparecen en atributos HTML, ya que los caracteres +, / y = pueden necesitar codificación adicional según el contexto.
Errores comunes
- Olvidar el punto y coma final:
&sin;no es una entidad válida. Algunos navegadores lo toleran, pero no es un comportamiento garantizado. - Doble escape: si ya tienes
<en una cadena y la vuelves a pasar por la función de escape, obtienes&lt;. Escapa siempre el texto original sin procesar, nunca el ya escapado. - Usar
para maquetación: es una práctica anticuada. Para separar elementos usamarginopaddingen CSS. El solo tiene sentido cuando realmente no quieres que el navegador rompa la línea en ese punto.
Conceptos relacionados
También en Desarrollo web
Preguntas frecuentes
¿Por qué hay que escapar el símbolo < en HTML?
¿Qué diferencia hay entre y un espacio normal?
¿Puedo usar directamente los caracteres UTF-8 en lugar de entidades?
48 variantes de este concepto en el grafo. Ver todas las herramientas de Utilidades.