Codificar / decodificar entidades HTML
Escapa texto para HTML o convierte entidades & de vuelta a caracteres
Sobre esta herramienta
Escapa texto para incluirlo con seguridad en HTML — & se convierte en &amp;, < se convierte en &lt; — o decodifica texto cargado de entidades de vuelta a caracteres legibles, cubriendo entidades con nombre (&rarr;), decimales (&#169;) y referencias numéricas hexadecimales (&#xA9;).
La codificación ofrece dos niveles: los cinco caracteres esenciales que rompen la estructura HTML (& < > " '), que es todo lo que necesitas para la corrección, o todo lo no ASCII, útil cuando una cadena de herramientas estropea UTF-8 en algún punto entre tú y la página. Un modo solo numérico omite las entidades con nombre para máxima compatibilidad con parsers XML estrictos, que solo garantizan las cinco predefinidas.
El decodificador es la mitad de uso diario: pega un fragmento raspado o una respuesta de API llena de &#x27; y obtén texto limpio. Los nombres de entidad desconocidos pasan intactos en lugar de adivinarse.
Preguntas frecuentes
- ¿Qué caracteres deben escaparse en HTML?
- En contenido de texto: & y <. En valores de atributo: también el carácter de comilla que delimita el atributo (" o '). Escapar > es convencional pero no estrictamente necesario. Todo lo demás puede aparecer literalmente en un documento UTF-8.
- ¿La codificación de entidades es una defensa contra XSS?
- Escapar los cinco caracteres estructurales es el núcleo de la codificación de salida en contexto HTML, sí — pero solo para contextos de texto y atributos HTML. Las URLs, las cadenas de JavaScript y el CSS necesitan sus propias codificaciones específicas de contexto; el escape de entidades por sí solo no hace segura la inyección arbitraria ahí.
- Entidades con nombre o numéricas — ¿cuáles debería emitir?
- Las referencias numéricas (&#xE9;) funcionan en todo parser HTML y XML. Las entidades con nombre son más legibles, pero XML solo predefine cinco, así que &eacute; rompe un pipeline XML/XHTML estricto. Ante la duda, numéricas.
- ¿Por qué veo &amp;#39; (doblemente codificado) en mis datos?
- Dos capas codificaron una vez cada una: el & de la primera codificación fue a su vez escapado por una segunda pasada. Decodifica dos veces aquí para recuperar el texto, y luego encuentra y arregla la capa que no debería estar codificando.