Codificador y Decodificador de Entidades HTML
Codifica caracteres especiales en entidades HTML o decodifica entidades a texto plano. Elige formato con nombre, decimal o hexadecimal. Todo se ejecuta en tu navegador — ningún dato sale de tu equipo.
Cómo funciona: Pega o escribe tu texto, elige el modo codificar o decodificar y selecciona el formato de entidad. El resultado se actualiza al instante. Usa entidades con nombre para mayor legibilidad, decimal o hexadecimal para máxima compatibilidad. Ningún dato abandona tu navegador.
&&&Ampersand<<<Less than>>>Greater than"""Double quote'''Single quote   Non-breaking space©©©Copyright®®®Registered™™™Trademark———Em dash€€€Euro¿Qué son las entidades HTML?
Las entidades HTML son secuencias especiales que representan caracteres con un significado reservado en HTML o que no pueden escribirse directamente en el código fuente. El ejemplo más importante es el ampersand (&), que marca el inicio de toda entidad y debe escribirse como & cuando aparece como texto literal. Del mismo modo, el signo menor que (<) debe escribirse como < para que el navegador no lo interprete como la apertura de una etiqueta HTML. Las entidades tienen tres formatos: con nombre (&), decimal (&) y hexadecimal (&). Los tres representan el mismo carácter — la elección depende de la preferencia de legibilidad y la compatibilidad con el analizador de destino.
¿Por qué codificar caracteres HTML?
Codificar caracteres HTML es fundamental por dos razones: corrección y seguridad. En cuanto a la corrección, caracteres como <, > y & forman parte de la sintaxis HTML. Si aparecen sin escapar en el contenido de texto, los navegadores pueden interpretarlos como marcado y romper el diseño de la página. En cuanto a la seguridad, no codificar la entrada del usuario antes de renderizarla en HTML es la causa raíz de los ataques de Cross-Site Scripting (XSS), una de las vulnerabilidades web más frecuentes. Un atacante puede inyectar una etiqueta <script> a través de un campo de formulario o parámetro de URL, y si el servidor muestra esa entrada sin codificar, el script malicioso se ejecuta en el navegador de cada visitante. Siempre codifica la salida, nunca confíes en la entrada sin procesar.
Entidades con Nombre vs Decimal vs Hex
Las entidades con nombre como ©, € y — son legibles por humanos y están ampliamente soportadas en todos los navegadores modernos. Las entidades decimales usan el punto de código Unicode en base 10 (© para ©), mientras que las hexadecimales usan base 16 (© para el mismo carácter). Las entidades con nombre solo existen para un subconjunto definido de caracteres Unicode — para cualquier carácter fuera de ese subconjunto es necesario usar decimal o hexadecimal. La notación hexadecimal se alinea de forma natural con la documentación Unicode (por ejemplo, U+0026 corresponde a &), lo que la convierte en la opción preferida al trabajar con tablas de códigos Unicode. En los atributos HTML, codifica siempre las comillas dobles como " o " para prevenir la inyección en atributos.
Buenas prácticas con entidades HTML
- Codifica siempre la entrada del usuario antes de renderizarla en HTML para prevenir ataques XSS
- Codifica & como & primero, antes que cualquier otro carácter, para evitar la doble codificación
- Usa entidades con nombre para símbolos comunes como ©, ® y ™ para mejor legibilidad
- Usa entidades decimales o hexadecimales para cualquier carácter Unicode por encima de U+007F cuando apuntes a analizadores heredados
- Dentro de atributos HTML, codifica ambas comillas (" y ') para prevenir la inyección que rompe atributos
- Activa "Codificar Todo" para forzar la codificación de todos los caracteres no ASCII y maximizar la portabilidad
- Decodifica las entidades antes de procesar la lógica del texto — nunca operes sobre cadenas de entidades sin procesar
- (espacio de no separación) evita saltos de línea no deseados, pero no debe reemplazar espacios normales de forma masiva