Entidades HTML
Escape los caracteres que HTML interpreta como marcado, y si lo desea también todos los caracteres no ASCII, o convierta entidades como é y — de nuevo en texto plano. Ambas direcciones funcionan en su navegador, y la entrada decodificada nunca se muestra como HTML activo.
0 caracteres · 0 palabras · 0 líneas
0 caracteres · 0 palabras · 0 líneas
Funciona por completo en esta pestaña del navegador. Su texto nunca se sube ni se guarda.
Caracteres comunes y sus entidades
Las formas con nombre, decimal y hexadecimal se decodifican en el mismo carácter. El codificador conoce 216 entidades con nombre comunes; el decodificador entiende todas las referencias con nombre del estándar HTML.
| Carácter | Con nombre | Decimal | Hex |
|---|---|---|---|
& | & | & | & |
< | < | < | < |
> | > | > | > |
" | " | " | " |
' | ' | ' | ' |
(espacio de no separación) | |   |   |
© | © | © | © |
® | ® | ® | ® |
™ | ™ | ™ | ™ |
€ | € | € | € |
£ | £ | £ | £ |
¥ | ¥ | ¥ | ¥ |
— | — | — | — |
– | – | – | – |
… | … | … | … |
« | « | « | « |
» | » | » | » |
° | ° | ° | ° |
× | × | × | × |
÷ | ÷ | ÷ | ÷ |
é | é | é | é |
π | π | π | π |
→ | → | → | → |
😀 | — | 😀 | 😀 |
De 252 entidades en HTML 4 a 2231 en HTML5
Una referencia de carácter es una forma de escribir un carácter solo con ASCII. Las referencias numéricas sirven para cualquier punto de código Unicode, en decimal (é) o en hexadecimal (é). Las referencias con nombre son más fáciles de recordar: HTML 4 definía 252, que cubrían letras Latin-1 como é, letras griegas, símbolos matemáticos y signos tipográficos como — y …. Curiosamente, ' no estaba entre ellas; venía de XML y solo pasó a ser HTML válido con HTML5.
HTML5 amplió la lista a 2231 referencias de carácter con nombre al absorber el conjunto de entidades de MathML, así que nombres como ✓, ★ y ≂̸ funcionan hoy en todos los navegadores actuales. La cifra incluye grafías heredadas sin el punto y coma de cierre, como & y ©, que los analizadores siguen aceptando por compatibilidad pero que no conviene escribir. El codificador de esta página produce los nombres de HTML 4, ampliamente compatibles, más ', y recurre a una referencia numérica para todo lo demás; el decodificador entrega el texto al analizador del propio navegador, así que entiende los 2231 nombres.
Qué escapar y dónde no basta con escapar
Solo & < > " ' es el ajuste para el trabajo diario: escapa los cinco caracteres que pueden cerrar un nodo de texto o un atributo entre comillas, lo que basta para mostrar un ejemplo de código en una página o colocar texto de usuarios con seguridad dentro de HTML. También todos los caracteres no ASCII convierte además é, € y los emojis en referencias, para el raro canal que no admite UTF-8, como algunas plantillas de correo heredadas o sistemas que estropean las codificaciones. Con nombre, Decimal y Hex solo cambian cómo se escribe una referencia; las tres se decodifican en el mismo carácter. Una página guardada en UTF-8 no necesita entidades para las letras con tilde.
El escape protege el contexto HTML y nada más. El texto insertado en un bloque script, en un manejador de eventos en línea como onclick, en un atributo style o en un href que pueda empezar por javascript: necesita otro tratamiento, y la codificación en entidades por sí sola no evita ahí el cross-site scripting. Frameworks como React escapan el texto por defecto, así que el doble escape es el error más común en las aplicaciones modernas: los usuarios ven & donde debería haber un ampersand. Para quitar las etiquetas por completo, convierta el marcado con HTML a TXT; para escapar dentro de URL, use Codificar URL.
Preguntas frecuentes
- ¿Qué caracteres hay que escapar en HTML?
- En el texto, & y < son los imprescindibles, y > se escapa por convención. Dentro del valor de un atributo, escape también la comilla que lo delimita. Escapar los cinco cubre ambos casos.
- ¿Qué diferencia hay entre y un espacio normal en HTML?
es el espacio de no separación, U+00A0. Parece un espacio, pero impide un salto de línea en ese punto y no se contrae cuando aparecen varios seguidos, a diferencia de los espacios normales en HTML.- ¿Por qué mi página muestra & en lugar de un ampersand?
- El texto se escapó dos veces: una en sus datos y otra en su plantilla o framework. Guarde el texto sin escapar y deje que una sola capa, normalmente la plantilla, haga el escape al generar la salida.
- ¿Es seguro decodificar aquí HTML de una fuente no confiable?
- Sí. El decodificador analiza la entrada como contenido de texto plano, así que no se crean etiquetas, no se ejecutan scripts y no se cargan imágenes. Solo las referencias de entidad se convierten en caracteres.
- ¿Son mejores las entidades HTML con nombre o las numéricas?
- Las de nombre se leen mejor; las numéricas sirven para cualquier carácter y en cualquier analizador XML. En XML sin DTD, solo
&,<,>,"y'están predefinidas.