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
< → <
> → >
& → &
" → "
→ espacio
© → ©
Preguntas frecuentes
Que caracteres SIEMPRE debo codificar?
Los 5 caracteres que siempre deben codificarse en HTML son: & (como &), < (como <), > (como >), " (como ") y ' (como '). En atributos, las comillas son especialmente criticas.
Entidad con nombre o codigo numerico?
Las entidades con nombre (©) son mas legibles pero limitadas. Los codigos numericos (© decimal o © 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().