UltKit

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.

Modo
Estilo de entidad
Escapar

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ácterCon nombreDecimalHex
&&&&
<&lt;&#60;&#x3C;
>&gt;&#62;&#x3E;
"&quot;&#34;&#x22;
'&apos;&#39;&#x27;
(espacio de no separación)&nbsp;&#160;&#xA0;
©&copy;&#169;&#xA9;
®&reg;&#174;&#xAE;
™&trade;&#8482;&#x2122;
€&euro;&#8364;&#x20AC;
£&pound;&#163;&#xA3;
¥&yen;&#165;&#xA5;
—&mdash;&#8212;&#x2014;
–&ndash;&#8211;&#x2013;
…&hellip;&#8230;&#x2026;
«&laquo;&#171;&#xAB;
»&raquo;&#187;&#xBB;
°&deg;&#176;&#xB0;
×&times;&#215;&#xD7;
÷&divide;&#247;&#xF7;
é&eacute;&#233;&#xE9;
π&pi;&#960;&#x3C0;
→&rarr;&#8594;&#x2192;
😀—&#128512;&#x1F600;

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 (&#233;) o en hexadecimal (&#xE9;). Las referencias con nombre son más fáciles de recordar: HTML 4 definía 252, que cubrían letras Latin-1 como &eacute;, letras griegas, símbolos matemáticos y signos tipográficos como &mdash; y &hellip;. Curiosamente, &apos; 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 &check;, &bigstar; y &NotEqualTilde; funcionan hoy en todos los navegadores actuales. La cifra incluye grafías heredadas sin el punto y coma de cierre, como &amp y &copy, 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 &apos;, 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 &amp; 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 &nbsp; y un espacio normal en HTML?
&nbsp; 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 &amp; 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 &amp;, &lt;, &gt;, &quot; y &apos; están predefinidas.