¿Qué son las entidades HTML?
Las entidades HTML son cadenas especiales que comienzan con & y terminan con ;. Representan caracteres reservados en HTML (como < > & y comillas) o caracteres difíciles de escribir (como guiones largos, símbolos de copyright). Por ejemplo, < representa el signo menor que. La especificación define entidades con nombre (como ©) y numéricas (como ©) para cientos de caracteres Unicode.
Por qué importa la codificación de entidades
Codificar caracteres especiales es esencial por dos razones. Primero, evita que el navegador malinterprete contenido como marcado — un < suelto se leería como apertura de etiqueta. Segundo, defiende contra ataques Cross-Site Scripting (XSS) donde scripts maliciosos se inyectan a través de entrada del usuario. Codificando < > y comillas antes de insertar datos en HTML, neutralizas vectores de ataque.
Entidades con nombre vs numéricas
Las entidades con nombre usan códigos legibles como & <. Las numéricas usan puntos de código Unicode decimales (<) o hexadecimales (<). Las con nombre son más legibles pero limitadas. Las numéricas representan cualquier carácter Unicode, más versátiles para símbolos especiales y caracteres internacionales.
Mejores prácticas
Siempre codifica los cinco caracteres críticos en contenido de usuario: < > & comilla simple y doble. Usa las funciones de escape de tu framework en lugar de reemplazo manual. En HTML5 moderno, solo & < > " y ' son estrictamente necesarios si el documento usa UTF-8.





