Entidades HTML
Texto y contenido
Secuencias de caracteres que representan caracteres reservados o especiales en HTML. Permiten mostrar <, >, & y otros caracteres sin que el navegador los confunda con código.
Las entidades HTML (también llamadas character references) son secuencias de texto que representan caracteres con significado especial en el código HTML, o caracteres que no están disponibles fácilmente en el teclado. Existen porque ciertos caracteres — <, >, & — son parte de la sintaxis de HTML: si los escribís directamente en el contenido, el navegador los interpreta como código, no como texto. Las entidades los escapan para que se muestren como texto visible.
Cómo funciona
Una entidad HTML tiene tres partes: ampersand (&) + nombre o número + punto y coma (;). La forma general es:
&nombre; ← named character reference
&#número; ← decimal numeric reference
&#xhex; ← hexadecimal numeric reference
El navegador reemplaza la entidad por el carácter correspondiente antes de mostrarlo en pantalla.
Las entidades esenciales
< — menor que (<)
Obligatoria cuando querés mostrar < como texto. Sin ella, el navegador lo interpreta como el inicio de una etiqueta HTML.
<!-- ❌ el navegador interpreta <p> como etiqueta -->
<p>Escribí <p> para crear un párrafo.</p>
<!-- ✅ correcto: < y > muestran los corchetes como texto -->
<p>Escribí <p> para crear un párrafo.</p>
> — mayor que (>)
Técnicamente menos crítico que < (el navegador suele tolerar > como texto), pero es obligatorio en HTML estrictamente válido y es buena práctica consistente.
& — ampersand (&)
Obligatoria cuando querés mostrar & literal. Si el texto que sigue al & coincide con el nombre de una entidad conocida, el navegador la interpreta:
<!-- Sin &: el navegador interpreta © como © -->
<p>La entity © produce el símbolo del copyright.</p>
<!-- Con &: el & queda como texto -->
<p>La entity &copy; produce el símbolo del copyright.</p>
— espacio sin ruptura (non-breaking space)
Un espacio que el navegador nunca parte entre dos líneas. Útil para evitar que dos palabras que deben ir juntas queden en líneas distintas:
<p>Llamá al Dr. García para más información.</p>
<!-- "Dr. García" nunca se separa entre líneas -->
También evita que el navegador colapse múltiples espacios seguidos en uno solo (el HTML colapsa espacios blancos normales).
© — símbolo de copyright (©)
<p>© 2026 Mi empresa. Todos los derechos reservados.</p>
Referencias numéricas
Cualquier carácter Unicode se puede escribir con su código decimal o hexadecimal:
< ← decimal de < (igual que <)
< ← hexadecimal de <
© ← decimal de © (igual que ©)
© ← hexadecimal de ©
Las referencias numéricas son más universales (funcionan aunque el parser no conozca el nombre), pero menos legibles. En la práctica se usan para caracteres especiales que no tienen nombre conocido.
Cuándo usarlas
| Carácter | ¿Cuándo escapar? |
|---|---|
< | Siempre que aparezca como texto (nunca como etiqueta) |
> | Siempre (obligatorio en HTML válido) |
& | Siempre que no sea el inicio de una entidad intencional |
" en atributos | Solo dentro de atributos delimitados por " (usar ") |
Caracteres acentuados (á, é, ñ) | No es necesario en archivos UTF-8 — se escriben directamente |
Notas, gotchas e interacción
- El punto y coma final es obligatorio.
<sin el;puede no interpretarse correctamente en todos los parsers. La especificación lo requiere; no lo omitas. - Los navegadores modernos son tolerantes. Un
<sin escapar dentro de texto a veces se muestra bien, pero el comportamiento es indefinido y puede diferir en lectores de pantalla, scrapers y validadores. Escapá siempre. - UTF-8 elimina la necesidad de entidades para la mayoría de caracteres. En archivos con
<meta charset="UTF-8">(estándar actual), podés escribirá,é,ñ,ü,€,©directamente sin entidades. Las únicas obligatorias son<,>y&. - La lista completa es enorme. La especificación de HTML define más de 2000 named character references (
€,™,…, etc.). Para el día a día, con las cuatro esenciales alcanza. no es solo espacio. Además de no romperse entre líneas, es un espacio que no se colapsa con otros espacios y tiene un ancho ligeramente diferente al espacio normal en algunas fuentes. Usalo solo cuando el no-salto de línea sea necesario, no para agregar espacio visual — para eso usá CSS (margin,padding).
Vigente / legacy
Las entidades HTML son parte de la especificación desde los inicios del HTML y están completamente vigentes. No hay forma legacy. La sintaxis numérica (<) y la nombrada (<) coexisten; las nombradas son preferibles por legibilidad.