Saltar al contenido

Codificador de entidades HTML

HTML Entity Encoder

Escapa y desescapa entidades HTML, con salida por nombre, decimal o hexadecimal.

Convierte caracteres en entidades HTML y viceversa —`&`, `&`, `&`— con la opción de cuánto escapar. La decodificación también aplica la reasignación a Windows-1252 que exige la especificación de análisis de HTML, y por eso `’` vuelve como un apóstrofo tipográfico en lugar de un carácter de control.

🔒 Se ejecuta por completo en tu navegadorhtmlentityescape
Reglas
Dirección
Escapar

Solo `&`, `<` y `>`. Es todo lo que necesitas entre dos etiquetas, y nada más.

Como

Texto

Codificado

Las cinco que define XML

Las cinco entidades XML predefinidas.
CarácterCon nombreDecimalHex
&&amp;&#38;&#x26;
<&lt;&#60;&#x3C;
>&gt;&#62;&#x3E;
"&quot;&#34;&#x22;
'&apos;&#39;&#x27;

Son las únicas referencias con nombre que XML tiene sin una DTD. Todo lo demás en un documento XML debe ser numérico.

Cómo se usa

  1. Decide cuánto escapar

    Contenido de texto escapa solo `&`, `<` y `>`: todo lo que necesitas entre dos etiquetas. Valor de atributo añade los dos caracteres de comillas. Todo lo no ASCII es para una tubería que no puede transportar UTF-8, y hace que cada tilde o ñ pase a ocupar entre seis y ocho caracteres.

  2. Elige la notación

    Con nombre (`&amp;`) es la que mejor se lee; decimal y hexadecimal son numéricas y funcionan en XML, que solo tiene cinco referencias con nombre sin un DTD.

  3. O ve en la otra dirección

    Cambia a Desescapar y pega texto lleno de entidades. Cualquier cosa que la tabla no reconozca se lista y se deja exactamente como está escrita en lugar de eliminarse.

Preguntas frecuentes

¿Por qué una de mis entidades se dejó tal cual?

HTML5 define 2231 referencias con nombre y la tabla de aquí lleva un subconjunto seleccionado: todos los caracteres Latin-1, la puntuación, el griego, las flechas y los símbolos matemáticos comunes. Cualquier cosa fuera de eso se lista por nombre en una nota en lugar de eliminarse en silencio, que es el fallo honesto.

¿Escapar entidades protege contra XSS?

Es el escapado correcto para contenido de texto y para un valor de atributo entre comillas, y no es suficiente en ningún otro sitio: dentro de un bloque `<script>`, en una URL `javascript:`, en un atributo sin comillas o en un contexto CSS, el escapado de entidades no hace nada útil. El escapado tiene que corresponder al contexto donde aterriza.

¿Por qué `&#146;` se decodifica como un apóstrofo?

Porque la especificación de análisis de HTML dice que los puntos de código 0x80–0x9F en una referencia numérica deben reasignarse a los caracteres de Windows-1252 en esas posiciones. Decodificarlos literalmente daría caracteres de control C1 invisibles, que es lo que un decodificador ingenuo produce a partir de texto pegado desde Word.

¿Puedo usar `&nbsp;` en XML?

No sin un DTD que lo declare. XML tiene exactamente cinco referencias con nombre predefinidas —`&amp;` `&lt;` `&gt;` `&quot;` `&apos;`— y la tabla al final de la página las lista. Todo lo demás tiene que ser numérico.

Puede recibir de

Después

Estas aceptan lo que produce esta herramienta, así que el resultado puede pasar directamente.