Codificador de escape HTML
Codificador de escape HTML: sustituye &, <, >, comillas y apóstrofes por entidades seguras para texto HTML.
Mostrar código como texto
El codificador sustituye cinco caracteres con significado en HTML: &, <, >, la comilla doble y el apóstrofo. Así, una etiqueta escrita por el usuario se muestra literalmente en la página en vez de convertirse en un elemento. El ampersand se procesa también para que no inicie por accidente otra entidad.
Ejemplo de una etiqueta completa
La entrada <p title="hola">A & B</p> produce <p title="hola">A & B</p>. Un navegador que reciba esa cadena como contenido de texto presentará la etiqueta visible. El resultado conserva todos los caracteres informativos, aunque cambia su representación dentro del marcado.
El contexto decide el escape
Esta conversión encaja en texto HTML y cubre caracteres habituales de atributos citados. No prepara datos para JavaScript insertado, CSS o URLs; esos lugares tienen gramáticas propias. En una aplicación, la opción preferible suele ser asignar textContent o usar el escape automático del framework en vez de concatenar marcado.
Escape no significa saneamiento
Un sanitizador analiza una estructura HTML y decide qué elementos y atributos admite. Este codificador no hace ese trabajo: representa el fragmento entero como texto. Tampoco sustituye políticas como CSP ni valida enlaces. Su salida sirve cuando la intención es que ningún marcado de la entrada se ejecute.
Evitar el doble escape
Si < se procesa otra vez, el ampersand se convierte y el usuario puede acabar viendo literalmente < en vez de <. Conserva una versión sin escapar en los datos y aplica la transformación una sola vez, justo al entrar en el contexto HTML que la necesita.
Fuentes y referencias
Continúa con estas herramientas
Preguntas frecuentes
¿Por qué se convierte primero el ampersand?
Porque forma el inicio de las referencias de carácter. Escaparlo evita que una secuencia existente se interprete como entidad durante el renderizado.
¿El resultado elimina etiquetas peligrosas?
No las elimina. Convierte sus delimitadores en texto visible, por lo que el fragmento completo deja de actuar como marcado en ese contexto.
¿Puedo usar esta salida dentro de una URL?
No como sustituto de la codificación URL. Los parámetros de una dirección requieren percent encoding y un constructor que preserve su estructura.
¿Cómo detecto que escapé dos veces?
Suelen aparecer secuencias como &lt;. Compara la fuente original y aplica el codificador solo en el límite donde se genera HTML.
¿Conviene concatenar la salida con innerHTML?
Para texto simple es más seguro usar textContent. Si necesitas HTML permitido, emplea un sanitizador mantenido y reglas expresas para ese documento.
¿Se conservan los acentos y caracteres Unicode?
Sí. La operación sustituye los cinco caracteres indicados y deja los demás caracteres de texto, incluidos acentos, en la cadena.
Herramienta de OCC Tools