Para qué sirven las entidades HTML
HTML trata algunos caracteres como marcado, no como texto literal. El ampersand inicia referencias de carácter; los corchetes angulares abren etiquetas; las comillas delimitan atributos. Cuando necesita que esos caracteres aparezcan como contenido—entradas de blog, fragmentos de documentación, comentarios de usuarios—los codifica como entidades HTML (también llamadas referencias de carácter). El analizador HTML del navegador convierte las entidades de nuevo en los caracteres previstos al construir el DOM.
Una entidad puede ser con nombre (&, <, ") o numérica (&, &). Las formas con nombre son más fáciles de leer en el código fuente; las numéricas pueden expresar cualquier punto de código Unicode aunque no exista un nombre conocido. La codificación es una técnica de seguridad del marcado y de interoperabilidad. No es cifrado ni sustituye la codificación de salida consciente del contexto en frameworks de seguridad de aplicaciones.
Codifique una frase de ejemplo con de texto a entidades HTML y reviértala con de entidades HTML a texto.
Cómo se relacionan las dos subherramientas
- De texto a entidades HTML — convierte caracteres especiales en referencias de entidad seguras para HTML, aptas para incrustar en el marcado.
- De entidades HTML a texto — expande las referencias de entidad de nuevo a caracteres ordinarios para lectura o procesamiento posterior.
Use el ida y vuelta al preparar ejemplos para un tutorial, limpiar contenido de CMS pegado o comprobar que un paso de escape de plantilla coincide con lo esperado. Si la decodificación deja entidades intactas, pueden estar mal formadas (& sin ;) o fuera del conjunto que reconoce el decodificador.
Referencias con nombre frente a numéricas
Entidades con nombre. HTML define un conjunto amplio de nombres ( , ©, €, …). Solo un núcleo pequeño es necesario para el escape básico de texto en HTML: &, <, > y a menudo " / ' según el contexto del atributo.
Numérica decimal. © es el signo de copyright. El número es un punto de código Unicode.
Numérica hexadecimal. © es el mismo signo de copyright. Hex es habitual en especificaciones y salida generada.
Mezclar estilos en un documento es HTML válido, pero los equipos suelen estandarizar entidades con nombre para legibilidad en contenido escrito a mano y formas numéricas en pipelines generados.
El contexto importa para la seguridad
Las reglas de escape dependen de dónde acabará la cadena:
- Nodos de texto HTML — escapar
<,>y&evita la inyección accidental de etiquetas. - Valores de atributos HTML — las comillas deben tratarse según el estilo de comillado.
- Literales de cadena JavaScript dentro de HTML — escapar solo con entidades HTML no basta; necesita codificación consciente de JS.
- Componentes de consulta URL — use percent-encoding, no entidades HTML.
Los frameworks de aplicación ofrecen codificadores específicos del contexto por una razón. Una utilidad general «texto → entidades» es excelente para autoría y depuración de contenido; por sí sola no es una defensa XSS completa cuando los datos cruzan a scripts, manejadores de eventos o CSS.
Usos legítimos habituales
Publicar ejemplos de código en HTML. Mostrar <div> en una página exige codificar los corchetes para que el navegador no los trate como etiquetas reales.
Contenido de correo y CMS. Los editores a veces almacenan entidades; decodificar ayuda a ver el texto legible para migración o indexación de búsqueda.
Normalizar pegado. Procesadores de texto y sitios web insertan y entidades de comillas tipográficas; decodificar aclara qué se pegó realmente.
Pruebas de localización. Comprobar que é y é se tratan de forma coherente entre plantillas.
Entidades frente a codificación URL frente a escapes Unicode
| Mecanismo | Alfabeto / forma | Uso típico |
|---|---|---|
| Entidades HTML | &name; / &#…; | Texto HTML/XML |
| Percent-encoding | %20, %2F | URLs |
JSON \uXXXX | Escapes Unicode | Cadenas JSON |
| Entidades XML predefinidas | Conjunto con nombre más pequeño | XML |
Elegir la capa equivocada es un error frecuente: poner %20 en texto HTML muestra literalmente %20, mientras que poner en una URL es incorrecto para servidores que esperan percent-encoding.
Limitaciones
- Codificar cada carácter como entidad numérica hace el código ilegible y rara vez es necesario.
- Decodificar no ejecuta HTML; solo expande referencias en una cadena.
- La doble codificación (
&lt;) es un olor habitual de CMS—decodifique con cuidado y deténgase cuando el texto sea legible, o puede pasarse. - Mantenga el contenido sensible no publicado fuera de línea cuando lo exija la política.
Resumen
Las entidades HTML permiten que caracteres especiales y significativos para el marcado viajen con seguridad dentro del código fuente HTML. Este hub combina convertidores de codificación y decodificación para autoría, enseñanza y limpieza. Respete el contexto de salida en aplicaciones sensibles a la seguridad, prefiera entidades con nombre claras en contenido escrito a mano y no confunda el escape HTML con el de URL o JSON.