Gliora

Entidades HTML

Concepto de Desarrollo web en Utilidades, conectado con sus herramientas y conceptos vecinos.

Actualizado el 20 de julio de 2026

Herramienta Entidades HTML Codifica y decodifica entidades HTML. Abrir calculadora →

Las entidades HTML son secuencias de texto que representan caracteres con significado especial en HTML o que no están disponibles en todos los teclados. Empiezan con & y terminan con ;: el navegador las sustituye por el carácter correspondiente al renderizar la página.

¿Para qué sirven?

Hay dos casos de uso distintos:

  1. Escapar caracteres reservados que el navegador interpretaría como código HTML: <, >, &, " y '.
  2. Insertar caracteres especiales difíciles de escribir directamente, como el símbolo del euro (), el copyright (©) o flechas tipográficas ().

Los caracteres más comunes

CarácterEntidad nombradaEntidad numéricaUso
<&lt;&#60;Menor que, inicio de etiqueta
>&gt;&#62;Mayor que, cierre de etiqueta
&&amp;&#38;Ampersand
"&quot;&#34;Comilla doble en atributos
'&apos;&#39;Comilla simple en atributos
&nbsp;&#160;Espacio de no separación
©&copy;&#169;Copyright
®&reg;&#174;Marca registrada
&trade;&#8482;Trademark
&euro;&#8364;Euro
&rarr;&#8594;Flecha derecha
×&times;&#215;Multiplicación
÷&divide;&#247;División

Entidades nombradas vs. numéricas

Las entidades nombradas (&lt;, &euro;) son más legibles. Las numéricas (&#60;, &#8364;) siempre funcionan porque referencian directamente el codepoint Unicode. La variante hexadecimal (&#x3C;) también es válida. En la práctica, con un documento UTF-8 bien declarado, solo necesitas escapar los cinco caracteres reservados del lenguaje HTML.

Escape en JavaScript

Cuando insertas contenido dinámico en el DOM mediante innerHTML, escapa siempre el texto de usuario para evitar ataques XSS:

function escapeHTML(str) {
  return str
    .replace(/&/g, '&amp;')
    .replace(/</g, '&lt;')
    .replace(/>/g, '&gt;')
    .replace(/"/g, '&quot;')
    .replace(/'/g, '&#39;');
}

La alternativa más segura es usar textContent en lugar de innerHTML: textContent nunca interpreta HTML y no requiere escape manual.

Las entidades son relevantes también al trabajar con Base64 embebido en data-URLs o con tokens JWT que aparecen en atributos HTML, ya que los caracteres +, / y = pueden necesitar codificación adicional según el contexto.

Errores comunes

  • Olvidar el punto y coma final: &amp sin ; no es una entidad válida. Algunos navegadores lo toleran, pero no es un comportamiento garantizado.
  • Doble escape: si ya tienes &lt; en una cadena y la vuelves a pasar por la función de escape, obtienes &amp;lt;. Escapa siempre el texto original sin procesar, nunca el ya escapado.
  • Usar &nbsp; para maquetación: es una práctica anticuada. Para separar elementos usa margin o padding en CSS. El &nbsp; solo tiene sentido cuando realmente no quieres que el navegador rompa la línea en ese punto.

Conceptos relacionados

También en Desarrollo web

Preguntas frecuentes

¿Por qué hay que escapar el símbolo < en HTML?
Porque el navegador interpreta < como el inicio de una etiqueta. Si escribes a < b sin escapar, el parser puede confundirlo con una etiqueta incompleta y romper el marcado. La entidad correcta es < y el navegador la muestra como el símbolo < sin interpretarla como código.
¿Qué diferencia hay entre &nbsp; y un espacio normal?
  es un espacio de no separación (non-breaking space): impide que el navegador rompa la línea en ese punto y, en algunos contextos, se muestra ligeramente más ancho que un espacio regular. Útil para mantener unidas cifras con sus unidades: «100 €» nunca se partirá en dos líneas.
¿Puedo usar directamente los caracteres UTF-8 en lugar de entidades?
Sí, siempre que el documento declare . Los caracteres como ñ, €, ©, ™ o → se pueden escribir directamente. Las entidades siguen siendo necesarias para los caracteres reservados del lenguaje HTML: <, >, & y las comillas en atributos.

48 variantes de este concepto en el grafo. Ver todas las herramientas de Utilidades.