Codificador y decodificador de entidades HTML
Convierte caracteres especiales a entidades HTML y viceversa, todo en el cliente. Tres modos de codificación — solo especiales, todo no-ASCII o solo numéricos — con codificación idempotente.
¿Qué son las entidades HTML?
Las entidades HTML son secuencias de escape que representan caracteres reservados o no-ASCII en HTML. Los cinco más comunes — & < > " ' — deben entitizarse para que el navegador no los interprete como marcado. Permiten incluir cualquier código Unicode.
Named vs numéricas
Las entidades named como & o © son más legibles pero limitadas a ~250 caracteres predefinidos. Las numéricas & o & sirven para cualquier código Unicode y tienen soporte universal. Ante la duda, y en XML, usa numéricas.
¿Cuándo escapar HTML?
Siempre escapa cualquier texto del usuario antes de inyectarlo en HTML — comentarios, búsquedas, perfiles, mensajes de error. Saltarse este paso es el bug XSS más común. Los motores de plantillas y frameworks modernos lo hacen automáticamente; la concatenación cruda no.
¿Necesitas codificación URL? Prueba nuestro codificador / decodificador URL.
Usos comunes
- Prevenir XSS: Escapa comentarios, perfiles y búsquedas del usuario antes de mostrarlos en HTML para bloquear inyección de scripts.
- Plantillas de email seguras: Codifica campos dinámicos en emails transaccionales para que los clientes de email muestren texto, no marcado.
- Generadores estáticos: Pre-codifica contenido derivado de markdown en build para que el HTML resultante sea libre de XSS.
- Migración JSON-HTML: Convierte campos de API con metacaracteres HTML en entidades antes de pegar en plantillas server-side.
- Logging y debug: Codifica payloads antes de escribirlos en log viewers HTML para que llaves y ángulos no rompan el diseño.
- Fragmentos de documentación: Muestra HTML literal dentro de <code> entitizando los ángulos para que se rendericen como texto.
- Migración CMS legacy: Decodifica contenido entitizado exportado de CMS antiguos a texto plano para reimportarlo en un editor moderno.
FAQ
¿Qué son las entidades HTML y por qué las necesito?
Son secuencias de escape que representan caracteres reservados (& < > " ') y cualquier carácter no-ASCII sin romper el parsing HTML. Las necesitas cuando texto crudo podría ser interpretado como marcado.
Named vs numéricas — ¿cuál usar?
Usa numéricas (&, &) cuando apuntes a un contexto no-HTML — XML, RSS, SGML genérico. Usa named (&, ©) en HTML escrito a mano donde la legibilidad importa.
¿Cuándo debo escapar HTML en contenido del usuario?
Siempre — excepto cuando uses explícitamente un sanitizer que permita un subconjunto seguro (p.ej. DOMPurify). Concatenar texto del usuario sin escapar es la vulnerabilidad XSS clásica.
¿Cómo decodifico ' y '?
Ambas decodifican al apóstrofe ('). Este decodificador acepta named ', decimal ' y hex '. ' está estandarizada solo en XHTML y HTML5.
¿Esta herramienta envía mis datos a algún sitio?
No. Toda la codificación y decodificación se ejecuta enteramente en tu navegador. Tu texto nunca sale de tu dispositivo.
En cifras
- El HTML Living Standard define ~250 referencias de caracteres con nombre — la mayoría de navegadores también aceptan el conjunto HTML 4.01
- OWASP recomienda escapar cinco caracteres (
&,<,>,",') al insertar texto no confiable en el cuerpo HTML - Las referencias numéricas (p.ej.
&) funcionan para cualquier código Unicode — útiles cuando no hay entidad con nombre disponible - XML solo soporta cinco entidades named (
amp lt gt quot apos) — los parsers XML estrictos rechazan entidades HTML como©