Qué hace
Las entidades HTML son códigos que representan caracteres, como < para < y é para é. Esta herramienta escapa texto a entidades para mostrarlo de forma segura dentro de una página web, y decodifica entidades de vuelta a texto plano, por ejemplo cuando copias marcado de un CMS o de una plantilla de correo.
La codificación usa la lista completa de HTML5, con más de 2,000 referencias con nombre, y la decodificación entiende referencias con nombre, decimales (©) y hexadecimales (©) exactamente como un navegador.
Cómo se usa
- Pega texto o HTML en el cuadro de Entrada, sube un archivo o haz clic en Ejemplo.
- Elige Codificar o Decodificar.
- Al codificar, elige cuánto codificar:
- Solo & < > ” ’: lo mínimo necesario para poner texto en HTML o en un atributo.
- Más no ASCII, con nombre: convierte también caracteres como é, © y — en entidades con nombre, y lo que no tenga nombre en una referencia numérica.
- Más no ASCII, numéricas: igual, pero siempre numéricas (
é), lo que también es XML válido. - Todo lo que tenga nombre: codifica incluso signos de puntuación como
.y/, útil cuando un sistema elimina esos caracteres.
- Copia o descarga el resultado. Usar como entrada te permite decodificarlo de nuevo para comprobar el viaje de ida y vuelta.
Ejemplo
<p>Café & "crème brûlée"</p>
codificado solo con los caracteres especiales queda
<p>Café & "crème brûlée"</p>
y con entidades con nombre para los no ASCII queda
<p>Café & "crème brûlée"</p>
Usos habituales
Mostrar un fragmento de código en un blog sin que el navegador lo renderice, poner texto de usuarios en un correo HTML, arreglar texto escapado dos veces como &amp; (decodifica una vez) o hacer que un archivo sea seguro para un sistema que solo acepta ASCII.
Preguntas frecuentes
› ¿Qué caracteres hay que escapar en HTML?
En el texto, escapa & y <. Dentro de los valores de atributo, escapa también la comilla que delimita el valor. Escapar & < > " y ' en todas partes, que es lo predeterminado aquí, siempre es seguro.
› ¿Uso entidades con nombre o numéricas?
Ambas funcionan en todos los navegadores modernos. Las entidades con nombre como é son más fáciles de leer; las referencias numéricas como é también funcionan en XML y en parsers antiguos que solo conocen unos pocos nombres. Con una página en UTF-8 normalmente no hace falta codificar los caracteres no ASCII.
› ¿La decodificación admite entidades sin punto y coma?
Sí. Sigue la especificación HTML, así que las formas heredadas como © sin punto y coma se decodifican igual que lo haría un navegador. Los nombres desconocidos como &foo; se dejan sin cambios.
› ¿Escapar basta para evitar XSS?
Escapar es la defensa correcta para el texto que va dentro de elementos HTML y atributos entre comillas. No hace segura una entrada no confiable dentro de bloques script o style, atributos de manejadores de eventos o URL, que necesitan una codificación específica para su contexto.