Mcatorce Suite
← Volver al blog

Entidades HTML explicadas: &, <, >, " y cuándo usarlas

Qué son las entidades HTML, qué cinco caracteres siempre deben escaparse, en qué se diferencian las entidades con nombre y las numéricas, y cuándo puedes omitir la codificación de letras no ASCII.

Prueba la herramienta: Codificador de Entidades HTML

HTML da un significado especial a unos pocos caracteres. El signo menor que abre una etiqueta, el ampersand inicia una entidad y las comillas delimitan los valores de los atributos. Para mostrar esos caracteres como texto, los escribes como entidades.

Cómo es una entidad

Una entidad empieza con & y termina con ;. Entre ambos hay un nombre o un número:

  • Con nombre: &amp; para &, &lt; para <, &gt; para >, &quot; para una comilla doble y &copy; para el símbolo de copyright.
  • Numérica decimal: &#169; es el mismo símbolo, escrito con su punto de código.
  • Numérica hexadecimal: &#xA9; es otra vez lo mismo en hexadecimal.

Las tres producen el mismo carácter. Las formas numéricas sirven para cualquier carácter Unicode, incluso los que no tienen nombre.

Los caracteres que debes escapar

En el contenido de texto, escapa siempre & y <. En los valores de atributos, escapa además la comilla con la que envolviste el valor (" o '). Escapar > no es estrictamente obligatorio en el texto, pero es habitual y no hace daño. Un < sin escapar en el texto puede leerse como el inicio de una etiqueta, y un & sin escapar seguido de letras puede interpretarse como una entidad.

¿Necesito codificar las letras con acento?

No, si tu página se sirve como UTF-8 y el archivo se guarda en UTF-8, que es la opción moderna por defecto. Entonces café y € pueden escribirse directamente. Codificarlos como &eacute; y &euro; sigue siendo válido y útil cuando debes mantener el código fuente en ASCII puro, por ejemplo en algunas plantillas de correo o sistemas antiguos.

Espacios especiales

&nbsp; es un espacio de no separación que evita un salto de línea y no se colapsa con los vecinos. Úsalo con moderación para maquetar. Prefiere CSS para el espaciado.

Decodificación

Decodificar revierte el proceso: &amp;lt; pasa primero a &lt; y, si se repite, a <. Decodifica solo una vez por capa, de lo contrario produces un carácter que debía quedarse como texto.

Preguntas frecuentes

¿Es seguro &apos;? Es válido en HTML5, pero HTML 4 no lo definía. &#39; funciona en todas partes.