Codificador / Decodificador de Entidades HTML

Escapa caracteres especiales a entidades HTML, o decodifica entidades de vuelta a texto plano, en vivo mientras escribes.

Codificar todos los caracteres no ASCII
También escapa letras acentuadas y emoji, no solo < > & " '.

Por qué existen las entidades HTML

Algunos caracteres están reservados por el propio HTML.

Caracteres como <, >, y & tienen un significado especial en el marcado HTML; escribirlos literalmente dentro del contenido de una página puede romperla o, peor aún, permitir que la entrada del usuario se interprete como marcado ejecutable. Codificarlos como entidades como &lt; muestra el carácter de forma segura como texto plano.

Entidades con nombre vs. numéricas

&amp; y &#38; se decodifican ambas al mismo ampersand; las entidades con nombre existen para caracteres comunes, las entidades numéricas (decimales o hex) pueden representar cualquier carácter Unicode. Esta herramienta decodifica ambas formas.

Cómo funciona

La codificación es una sustitución sencilla: una expresión regular reemplaza los cinco caracteres reservados de HTML (&, <, >, ", ') por sus entidades. La opción "codificar todos los no ASCII" va más allá y convierte cada carácter por encima del rango ASCII en una referencia numérica usando codePointAt, útil cuando la salida debe sobrevivir a un flujo solo-ASCII como un sistema de plantillas de correo antiguo o un archivo de configuración que corrompe UTF-8.

La decodificación usa un truco que vale la pena conocer: la cadena se asigna al innerHTML de un <textarea> desconectado, y luego se lee de vuelta desde su .value. Eso delega el trabajo al propio parser HTML del navegador, que ya conoce las más de 2000 entidades con nombre además de toda forma numérica decimal y hex, así que la herramienta no incluye una tabla de consulta que pueda quedar obsoleta. También por eso es seguro decodificar entrada no confiable aquí: el contenido de un textarea siempre se trata como texto plano, así que un &lt;script&gt; decodificado se convierte en el texto de una etiqueta script, y nada llega a ejecutarse.

Ambas direcciones se ejecutan en cada pulsación dentro del JavaScript de esta página. Abre la pestaña Red de las DevTools mientras escribes: no hay peticiones, tu marcado nunca sale del navegador.