Codificador / Decodificador de Entidades HTML
Las entidades HTML son códigos especiales que representan caracteres con significado reservado en HTML, como los signos de menor y mayor (< y >), el ampersand (&), las comillas (") y los apóstrofos ('). Codificar estos caracteres garantiza que los navegadores los muestren como texto visible en lugar de interpretarlos como marcado, algo esencial para mostrar de forma segura contenido generado por usuarios y fragmentos de código en la web.
Esta herramienta realiza conversión bidireccional: la codificación transforma texto plano en HTML seguro reemplazando los caracteres reservados por sus equivalentes de entidad nombrada o numérica (por ejemplo, < se convierte en <), mientras que la decodificación invierte el proceso y convierte las entidades HTML de vuelta a texto legible. Admite los cinco caracteres de escape estándar de HTML, así como entidades numéricas en formato decimal (A) y hexadecimal (A).
Como funciona
Codificar: & → & | < → < | > → > | " → " | ' → '. Decodificar: análisis nativo del navegador mediante textarea, que resuelve entidades con nombre, decimales (&#N;) y hexadecimales (&#xN;).
Casos de uso
- Incrustar de forma segura contenido generado por usuarios en páginas HTML para prevenir inyección XSS
- Mostrar ejemplos de código fuente o marcado en un blog o sitio de documentación
- Preparar texto para su uso dentro de atributos HTML como title, alt o campos data-*
- Decodificar fragmentos HTML ofuscados o codificados recibidos de APIs o páginas scrapeadas
- Aprender o enseñar cómo los navegadores interpretan los caracteres especiales y las entidades HTML
Preguntas frecuentes
¿Qué es una entidad HTML y cuándo necesito usarla?
Una entidad HTML es un código como < o & que representa un carácter con significado especial en HTML. Necesitas entidades siempre que quieras que el navegador muestre caracteres como <, >, &, comillas o apóstrofos como texto visible, en lugar de interpretarlos como marcado. Esto es esencial al mostrar ejemplos de código o cualquier texto proporcionado por usuarios en una página web.
¿Cuál es la diferencia entre entidades con nombre y numéricas?
Las entidades con nombre usan un nombre mnemónico, como < para el signo de menor, mientras que las numéricas referencian el punto de código Unicode del carácter en formato decimal (<) o hexadecimal (<). Las tres formas se renderizan de manera idéntica en los navegadores. Las entidades con nombre son más fáciles de leer, pero las numéricas funcionan para cualquier carácter Unicode, incluso los que no tienen nombre definido.
¿Codificar entidades HTML previene ataques XSS?
Codificar los cinco caracteres reservados (&, <, >, ", ') neutraliza el vector más común de inyección de HTML, porque las etiquetas y atributos inyectados se renderizan como texto inerte. Sin embargo, solo es seguro para contenido colocado en el cuerpo de elementos HTML o en atributos entre comillas — contextos como cadenas de JavaScript, URLs o CSS requieren su propio escape específico. Considera la codificación de entidades como una capa de defensa, no como una estrategia de seguridad completa.
¿Cómo decodifico &amp; de vuelta a un ampersand normal?
Pega el texto en el decodificador y convertirá & de vuelta a &, junto con cualquier otra entidad con nombre, decimal o hexadecimal. Los textos codificados dos veces — por ejemplo &amp;lt; — pueden requerir dos pasadas de decodificación para recuperar por completo los caracteres originales.
¿Necesito codificar caracteres acentuados como é o ñ?
En la mayoría de los casos ya no es necesario. Las páginas modernas servidas con codificación UTF-8 pueden incluir caracteres acentuados y no latinos directamente en el HTML. Entidades como é siguen siendo útiles cuando no controlas la codificación del documento o al editar sistemas antiguos que corrompen bytes fuera del ASCII.