// Escapar HTML
HTML Entities Encoder / Decoder
Codifica caracteres HTML inseguros en entidades y decodifica entidades de vuelta a caracteres.
Text
Escaped
HTML Entities Encoder / Decoder ejemplos.
// Desescapar entidades
Preguntas frecuentes.
¿Por qué escapar HTML?
Para prevenir ataques XSS y asegurar que el contenido se muestre correctamente en páginas web.
¿Mis datos se envían a algún lugar?
No. Todo ocurre en tu navegador.
Por qué es importante el escaping HTML
Ciertos caracteres tienen un significado especial en HTML: < y > definen etiquetas, & inicia entidades, y " y ' delimitan atributos. Cuando estos caracteres aparecen en contenido de texto, deben escaparse para que el navegador los muestre correctamente.
Sin escaping, el navegador interpreta el & en "Matrikel & Prüfung" como el inicio de una entidad e intenta resolverla. El resultado es un texto mal representado o incluso invisible.
El escaping es la primera y más básica protección contra Cross-Site Scripting (XSS). Cuando las entradas del usuario se insertan sin escapar en una página HTML, los atacantes pueden introducir código JavaScript arbitrario.
Protección XSS vs. Escaping
El escaping HTML por solo protege de ataques XSS simples, convirtiendo < y > en sus formas de entidad < y >. Esto hace que el código insertado se muestre como texto normal y no se ejecute.
Para casos de uso más complejos, el escaping no es suficiente. Herramientas como DOMPurify limpian el HTML de entrada a fondo, permitiendo solo etiquetas y atributos permitidos y eliminando código potencialmente peligroso.
La mejor estrategia combina ambos enfoques: las entradas del usuario se escapan al insertarse en áreas HTML, y al procesar HTML rico se realiza una sanitización adicional.
Entidades nombradas vs. numéricas
HTML ofrece dos formas de representar caracteres especiales como entidades: entidades nombradas como & para & y < para <, y entidades numéricas como < para < y < para el mismo valor en hexadecimal.
Las entidades nombradas son más legibles y se prefieren cuando están disponibles. Solo hay una cantidad limitada de entidades nombradas - las más importantes son &, <, >, " y '.
Las entidades numéricas pueden representar cualquier código de caracteres Unicode y son por lo tanto universalmente aplicables. Para caracteres sin entidad nombrada, la variante numérica es la única opción.