OpenReplay Logo
12k
12k

Codificador/decodificador de entidades HTML

Codifica y decodifica entidades HTML en línea — con nombre, decimales o hexadecimales — el procesamiento se realiza localmente, así que nada de lo que pegues sale jamás de tu navegador.

Salida
Alcance
Procesado localmente

Acerca de esta herramienta

Las entidades HTML son secuencias de escape que representan caracteres que de otro modo se interpretarían como marcado o que no se pueden escribir de forma fiable — < para el signo menor que, & para el ampersand,   para un espacio de no separación, y formas numéricas como   (decimal) o   (hexadecimal) para cualquier punto de código Unicode. La codificación convierte un carácter en bruto en su entidad; la decodificación resuelve una entidad de vuelta al carácter. Esta herramienta codifica en salida con nombre, decimal o hexadecimal y decodifica las tres formas, incluido el conjunto con nombre común y los caracteres astrales como los emoji.

Úsalo para insertar de forma segura cadenas generadas por usuarios, ejemplos de código o citas en HTML sin romper la página ni abrir una vulnerabilidad XSS; para reparar texto que llegó doblemente codificado como &amp;amp; desde una plantilla mal configurada; para inspeccionar una referencia numérica como &#8212; y ver que es una raya; o para traducir caracteres acentuados y símbolos en entidades exclusivamente ASCII para los antiguos pipelines de correo electrónico y feeds. Por defecto, la codificación solo escapa & < > " ', o todos los caracteres no ASCII cuando activas el ámbito completo.

La codificación de entidades HTML sirve para una visualización segura, no para la seguridad — codifica en entidades la entrada no confiable en el punto en que se renderiza en HTML, y confía en un saneador (sanitizer) real más una Content Security Policy para detener el XSS.

Preguntas frecuentes

¿Cuál es la diferencia entre las entidades HTML con nombre, decimales y hexadecimales?

Son tres notaciones para el mismo carácter. Las entidades con nombre como © son legibles para las personas pero solo existen para un conjunto fijo de caracteres; las referencias numéricas decimal (&#169;) y hexadecimal (&#xA9;) funcionan para cualquier punto de código Unicode, de modo que cualquier carácter siempre puede expresarse numéricamente.

¿Qué caracteres deben codificarse como entidades HTML?

Como mínimo los cinco que son significativos para el analizador HTML: & (&amp;), < (&lt;), > (&gt;), " (&quot;) y ' (’). Codificar el ampersand primero es esencial, de lo contrario las entidades existentes acaban doblemente codificadas. Los demás caracteres son opcionales y solo se necesitan para un transporte exclusivamente ASCII.

¿Por qué mi texto muestra &amp; en lugar de &?

Eso es una doble codificación: el ampersand se escapó dos veces, normalmente porque se volvió a pasar HTML ya codificado por un codificador. Decodificar el texto en una pasada convierte &amp;amp; de vuelta en &amp;, y una segunda pasada da el & literal — esta herramienta decodifica un solo nivel por ejecución, de modo que puedas deshacerlo paso a paso.