Destino del Escape
Proteger Etiquetas
Otras Opciones
0 chars 0 lines 0 bytes
0 chars 0 lines 0 bytes

Escape HTML — Convertidor de Caracteres Especiales y Entidades HTML

Convierte caracteres especiales de HTML como <, >, &, " y ' en entidades HTML para mostrarlos como texto y evitar que el navegador los interprete como código.

También permite convertir entidades HTML nuevamente en caracteres normales.
Todo el procesamiento ocurre directamente en el navegador y nunca se envían datos al servidor.

Usa la herramienta Codificación y Decodificación URL para parámetros URL,
y Codificación y Decodificación Base64 para transferir datos de forma segura.

Formatea y valida datos JSON desordenados en una estructura limpia | formateador JSON, validador JSON, JSON beautifier

Por qué usar HTML Escape — Protección contra XSS y salida segura

Si los caracteres HTML no se escapan correctamente, el navegador puede interpretar la entrada del usuario como código ejecutable.
Por ejemplo, <script>alert('XSS')</script> podría ejecutarse si se muestra directamente.

Escapar HTML es esencial en comentarios, búsquedas y cualquier contenido generado por usuarios.
Esta herramienta también resulta útil para validar y comprobar resultados rápidamente.

Entidades HTML Más Utilizadas — Caracteres que Deben Escaparse

Estos son los caracteres HTML que normalmente deben escaparse junto con sus entidades correspondientes.

Carácter Código de Entidad Descripción
< &lt; Inicio de etiqueta HTML
> &gt; Fin de etiqueta HTML
& &amp; Inicio de entidad
" &quot; Comillas dobles en atributos
' &apos; Comillas simples en atributos

< y > pueden interpretarse como etiquetas HTML y & indica el inicio de una entidad, por lo que deben procesarse primero.
Las comillas también deben escaparse dentro de atributos HTML para evitar errores de marcado.
&nbsp; se utiliza para conservar espacios consecutivos o evitar saltos de línea.

Qué es HTML Unescape — Restaurar Entidades HTML a Caracteres Originales

Unescape es el proceso inverso de escape. Convierte entidades HTML como &lt;, &gt; y &amp; nuevamente en caracteres originales como <, > y &.

Suele utilizarse para restaurar cadenas con entidades HTML almacenadas en APIs o bases de datos,
recuperar contenido escapado importado desde plantillas de correo o sistemas externos antes de editarlo,
y depurar cadenas codificadas varias veces en el servidor.

Utiliza los botones ESCAPE / UNESCAPE en la parte superior para cambiar entre ambos modos.

Comparar Formatos de Escape — HTML, JavaScript y JSON

La forma de escapar caracteres especiales cambia según dónde se utilice el contenido.

HTML utiliza entidades como &lt;, &gt;, &amp; y &quot;. Es el formato adecuado para texto insertado directamente en código HTML.

Las cadenas JavaScript utilizan secuencias con barra invertida como \", \' y \\. Este formato se usa para texto dentro de código JavaScript.

JSON sigue su propia especificación y escapa comillas y caracteres de control. Es habitual en respuestas API y archivos JSON.

Esta herramienta admite HTML, JavaScript y JSON para que puedas elegir el formato adecuado y copiar el resultado al instante.

Referencia de HTML Escape por Lenguaje — Procesamiento en el Servidor

Después de verificar el resultado con esta herramienta, el escape HTML debería seguir aplicándose automáticamente en el servidor.

Lenguaje Método de Escape
Java (Spring) HtmlUtils.htmlEscape(str)
Java (Commons Text) StringEscapeUtils.escapeHtml4(str)
JavaScript textContent / createTextNode()
Python html.escape(str)
PHP htmlspecialchars($str, ENT_QUOTES)
Go html.EscapeString(str)
Ruby CGI.escapeHTML(str)

La mayoría de motores de plantillas como Thymeleaf, Jinja2 y Blade aplican escape automáticamente en expresiones como th:text y {{ }}.
Sin embargo, cuando se renderiza HTML sin procesar mediante th:utext o filtros raw, la salida debe validarse manualmente.

Entidades HTML Más Utilizadas — Referencia Rápida para Copiar

Aquí encontrarás las entidades HTML más utilizadas en desarrollo. Haz clic para copiar y reutilizar rápidamente.

Carácter Entidad con nombre Entidad numérica Descripción
<&lt;&#60;Menor que, inicio de etiqueta
>&gt;&#62;Mayor que, fin de etiqueta
&&amp;&#38;Ampersand
"&quot;&#34;Comillas dobles
'&apos;&#39;Comillas simples
Espacio&nbsp;&#160;Espacio no separable
©&copy;&#169;Símbolo de copyright
®&reg;&#174;Marca registrada
&trade;&#8482;Símbolo de marca
&mdash;&#8212;Raya larga

Las entidades con nombre y las entidades numéricas producen el mismo resultado.
Las entidades numéricas también permiten representar caracteres sin una entidad con nombre.

Preguntas frecuentes

Sí. Son procesos completamente distintos.

HTML Escape convierte caracteres especiales en formatos como &lt; y &amp; para que el navegador los trate como texto y no como etiquetas o entidades HTML.
URL Encoding convierte caracteres que no son seguros para una URL en valores codificados como %2F y %20.
Como tienen objetivos distintos, sustituir uno por otro puede generar resultados inesperados.

Si se necesita enviar contenido HTML dentro de parámetros URL, aplique primero URL Encoding y realice HTML Escape por separado al mostrar el contenido.

Sí. El escape también es importante fuera de los escenarios XSS.

Un caso habitual ocurre cuando datos del usuario se insertan directamente en atributos HTML.
Por ejemplo, si una cadena con comillas se inserta en atributos como href o value sin escape, la estructura puede romperse y provocar comportamientos inesperados.

También se requiere escape adaptado al contexto para plantillas de correo, generación de PDF, exportación CSV y otros formatos de salida.

Sí. Al utilizar el atributo th:text, Thymeleaf aplica escape HTML automáticamente.
Por ejemplo, si el modelo contiene test, al renderizar con th:text el contenido se mostrará como texto y no se interpretará como HTML.

En cambio, th:utext genera HTML sin escape. Utilizarlo con datos no confiables puede introducir vulnerabilidades XSS.
Use th:utext únicamente con contenido procedente de fuentes confiables, como HTML generado y revisado internamente.

No. Todo el procesamiento de escape y unescape se ejecuta completamente dentro del navegador.

Los datos introducidos, incluyendo código HTML, scripts, claves API u otro contenido ingresado, no se envían a servidores externos.

Esta herramienta solo convierte caracteres especiales que normalmente requieren escape en HTML, como <, >, &, " y '.
Los caracteres Unicode, los emoji y la mayoría de sistemas de escritura modernos suelen mostrarse correctamente en HTML5 usando UTF-8 sin aplicar escape HTML adicional.

Sin embargo, algunos sistemas heredados o entornos limitados a ASCII pueden requerir referencias numéricas basadas en puntos de código Unicode en lugar de caracteres directos. En esos casos puede ser necesario aplicar un tratamiento adicional de codificación.

No exactamente, aunque ambos términos suelen utilizarse como equivalentes.
Una entidad HTML (HTML Entity) es una notación definida por HTML para representar caracteres concretos, como &lt;, &amp; o &copy;.

HTML Escape hace referencia al proceso de convertir caracteres especiales en entidades HTML para que el navegador los muestre como texto y no los interprete como marcado.

En otras palabras, las entidades HTML son el resultado del proceso de escape. En búsquedas y documentación técnica es habitual que ambos términos se utilicen como si fueran equivalentes.