In HTML alcuni caratteri non possono essere scritti direttamente all'interno della pagina, perché il browser potrebbe interpretarli come parte del codice HTML invece che come semplice testo. Ad esempio, il simbolo "<" viene utilizzato per indicare l'inizio di un tag: se fosse scritto normalmente, il browser proverebbe a interpretarlo come l'apertura di un elemento HTML.
Per risolvere questo problema si utilizzano le entità HTML, cioè particolari sequenze di caratteri che permettono di visualizzare simboli, lettere accentate e altri caratteri speciali senza creare ambiguità con il codice della pagina.
Per fare in modo che il browser mostri un carattere speciale invece di interpretarlo come codice HTML, bisogna sostituirlo con la sua entità. Ad esempio, il simbolo < si scrive come <. In alternativa è possibile utilizzare il codice numerico equivalente, che in questo caso è <.
Entrambe le scritture producono lo stesso risultato. Generalmente si preferisce utilizzare le entità testuali perché sono più semplici da leggere e da ricordare.
| Carattere | Scrittura in lettere | Scrittura in numeri |
| < | < | < |
| > | > | > |
| " | " | " |
| ' | ' | ' |
| € | € | € |
| § | § | § |
| ™ | ™ | ™ |
| ¥ | ¥ | ¥ |
| & | & | & |
| ¢ | ¢ | ¢ |
| © | © | © |
| · | · | · |
| ¶ | ¶ | ¶ |
| ± | ± | ± |
| ÷ | ÷ | ÷ |
| > | > | > |
| < | < | < |
| « | « | « |
| » | » | » |
| µ | µ | µ |
| € | € | € |
| £ | £ | £ |
| ® | ® | ® |
Un esempio con i simboli < e >.
<p>Il tag <title> viene utilizzato per inserire un titolo</p>
Un esempio con i simboli " e €.
<p>Totale da pagare per "Corso HTML": 0€</p>
Anche le lettere accentate possono essere rappresentate tramite entità HTML. Oggi, grazie alla codifica UTF-8, nella maggior parte dei casi è possibile scrivere direttamente lettere come à, è oppure ò. Tuttavia, è importante conoscere le entità HTML perché sono ancora molto diffuse e si incontrano spesso in siti web e progetti già esistenti.
Le entità delle lettere accentate seguono quasi sempre una regola precisa:
& + la lettera senza accento + grave (per gli accenti gravi, come è) oppure acute (per gli accenti acuti, come é) + ;.
Ad esempio:
è produce è.é produce é.à produce à.ò produce ò.| Carattere | Scrittura in lettere | Scrittura in numeri |
| À | À | À |
| Á | Á | Á |
| à | à | à |
| á | á | á |
| È | È | È |
| É | É | É |
| è | è | è |
| É | é | é |
| Ì | Ì | Ì |
| Í | Í | Í |
| ì | ì | ì |
| í | í | í |
| Ò | Ò | Ò |
| Ó | Ó | Ó |
| ò | ò | ò |
| ó | ó | ó |
| Ù | Ù | Ù |
| Ú | Ú | Ú |
| ù | ù | ù |
| ú | ú | ú |
Un esempio con alcune lettere accentate.
<p>Il corso HTML potr&agreve; aiutarti a imparare a programmare.
È uno dei corsi più utili e semplici sul web.</p>
Le entità HTML non vengono utilizzate soltanto per i caratteri speciali e per le lettere accentate. Esistono infatti codici anche per molti altri simboli, come frecce, simboli matematici, simboli di valuta, lettere greche e molti altri caratteri meno comuni.
Ad esempio, per visualizzare una freccia verso destra puoi scrivere →, che verrà mostrata come →.
Non tutti i simboli possiedono un'entità con un nome descrittivo: alcuni possono essere rappresentati esclusivamente tramite il loro codice numerico.
| Carattere | Scrittura in lettere | Scrittura in numeri |
| ↕ | Non esiste | ↕ |
| ↓ | ↓ | ↓ |
| ↔ | ↔ | ↔ |
| → | → | → |
| ← | ← | ← |
| ↑ | ↑ | ↑ |