HTML Entity Encoder/Decoder

Codifica y decodifica entidades HTML especiales.

Entidades HTML: Que son y cuando usarlas

Las entidades HTML son codigos especiales que se utilizan para representar caracteres reservados o que no estan disponibles en el teclado estandar. En HTML, caracteres como <, >, & y " tienen un significado especial (definen etiquetas y atributos), por lo que para mostrarlos como texto visible es necesario usar sus entidades correspondientes.

Ademas de los caracteres reservados, las entidades HTML permiten representar simbolos matematicos, moneda, flechas, simbolos tipograficos y miles de caracteres Unicode que no estan en teclados estandar.

Casos de uso practicos

Mostrar codigo HTML: Para escribir tutoriales o documentacion que muestre etiquetas HTML como texto visible, necesitas codificar los caracteres < y > como entidades.

Prevencion de XSS: Codificar entidades HTML es la primera linea de defensa contra ataques Cross-Site Scripting. Cualquier input de usuario que se muestre en la pagina debe ser codificado.

Emails HTML: Los clientes de email tienen soporte limitado de CSS y caracteres especiales. Usar entidades HTML garantiza que simbolos se muestren correctamente en todos los clientes.

Entidades HTML comunes

&lt; → < &gt; → > &amp; → & &quot; → " &nbsp; → espacio &copy; → ©

Preguntas frecuentes

Que caracteres SIEMPRE debo codificar?

Los 5 caracteres que siempre deben codificarse en HTML son: & (como &amp;), < (como &lt;), > (como &gt;), " (como &quot;) y ' (como &#39;). En atributos, las comillas son especialmente criticas.

Entidad con nombre o codigo numerico?

Las entidades con nombre (&copy;) son mas legibles pero limitadas. Los codigos numericos (&#169; decimal o &#xA9; hex) pueden representar cualquier caracter Unicode. Prefiere entidades con nombre para las comunes.

UTF-8 elimina la necesidad de entidades?

Con UTF-8 puedes escribir directamente caracteres como n, e, o el simbolo de euro. Sin embargo, los 5 caracteres reservados (<, >, &, ", ') SIEMPRE deben codificarse como entidades, sin importar la codificacion del documento.

Como codifico entidades en JavaScript?

No existe una funcion nativa completa. Para los basicos, usa un elemento DOM: el.textContent = texto; return el.innerHTML; Para una solucion completa, usa librerias como he (HTML Entities) o lodash.escape().