Codificador / decodificador de entidades HTML

Escapa caracteres especiales de HTML como entidades con nombre, decimales o hex y decodifica entidades a texto. Maneja bien los emoji. Todo en tu navegador.

Tus datos de entrada y archivos no salen del navegador

Escriba HTML o texto para escapar, o pegue entidades como < para decodificarlas.

Aquí aparecerá el texto escapado o decodificado.

En esta página

Escapa ampersands, corchetes angulares, comillas y caracteres no ASCII como entidades HTML, o convierte entidades de nuevo en texto plano. La herramienta es JavaScript puro que se ejecuta en tu navegador, así que el marcado que pegues no se envía a ningún sitio.

Funcionalidad detallada

Tres modos de codificación cubren los casos habituales. El modo de caracteres especiales, el predeterminado, escapa los cinco caracteres que importan en el marcado y los atributos HTML: &, <, >, " y '. El modo no ASCII deja el marcado intacto y convierte letras acentuadas, símbolos y emoji, útil cuando una plantilla o un correo deben quedarse en ASCII puro. El modo de todos los caracteres hace ambas cosas.

Las entidades pueden escribirse como referencias con nombre (&amp;, &copy;), decimales (&#169;) o hexadecimales (&#xA9;). Solo unos 30 símbolos comunes tienen nombre en esta herramienta, como &copy;, &mdash;, &euro; y &nbsp;; el resto se escribe con referencia hexadecimal incluso en formato con nombre. Los emoji y demás caracteres fuera del plano multilingüe básico se convierten en una sola referencia, como &#x1F600;.

La decodificación entiende las mismas entidades con nombre y las referencias decimales y hexadecimales (&#169;, &#xA9;, &#XA9;), y trabaja en una sola pasada, de modo que &amp;lt; se convierte correctamente en &lt; y no en <. Los nombres desconocidos como &hearts; y las referencias sin punto y coma final se dejan tal cual.

Ejemplos prácticos

Escapar marcado: <a href="x">Tom & Jerry</a> pasa a &lt;a href=&quot;x&quot;&gt;Tom &amp; Jerry&lt;/a&gt; con la configuración predeterminada.

Solo no ASCII: © 2026 — café <b> pasa a &copy; 2026 &mdash; caf&#xE9; <b>: la etiqueta se queda igual y é, que no tiene nombre en la lista, se escribe en hex.

Emoji: en el modo de todos los caracteres, 😀 © pasa a &#128512; &#169; en formato decimal y a &#x1F600; &#xA9; en hexadecimal.

Decodificación: &lt;p&gt; &#169; &#x1F600; &euro; se decodifica como <p> © 😀 €, mientras que &amp;lt; da &lt;.

Cómo usar esta herramienta

  1. Pega tu texto

    Escribe o pega texto plano o HTML en Texto a codificar/decodificar.

  2. Elige el modo y el formato

    En Modo de codificación, elige Solo caracteres especiales (& < > " '), Solo caracteres no-ASCII o Todos los caracteres (especiales + no-ASCII). En Formato de entidades, elige Con nombre (&amp;), Decimal (&#38;) o Hexadecimal (&#x26;). Estos ajustes solo afectan a la codificación.

  3. Codifica o decodifica

    Pulsa Codificar a HTML para escapar el texto o Decodificar de HTML para convertir las entidades en caracteres.

  4. Copia el resultado

    Copiar lleva la salida al portapapeles. Intercambiar la devuelve a la entrada, por ejemplo para decodificar una segunda capa.

Consejos y mejores prácticas

  • Para texto dentro de elementos HTML o atributos entre comillas basta con escapar los cinco caracteres especiales; el texto no ASCII no necesita entidades si la página se sirve en UTF-8.
  • Escapar no es una defensa completa contra XSS: los valores en href, dentro de <script> o en CSS necesitan un tratamiento según el contexto, como validar la URL o codificar en JSON.
  • El apóstrofo se codifica como &#x27; (o &#39; en formato decimal) y no como &apos;, que HTML 4 no definía.
  • La decodificación es de una sola pasada: un texto escapado dos veces, como &amp;amp;, da primero &amp;; pulsa Intercambiar y decodifica otra vez.
  • Solo se decodifican las entidades con nombre de la lista integrada; las referencias numéricas funcionan para cualquier carácter Unicode.