Attualmente esistono 6 diversi livelli di HTML con caratteristiche via via più sofisticate [28].
Livello minimo.
Livello 0 più alcune nuove possibilità come quella di evidenziare parole e di includere immagini in un documento.
Vengono introdotti nuovi elementi per il trasferimento di dati fra client e server: le fill-out-forms.
Con questo tipo di HTML sono realizzabili tavole, simboli matematici, grafici, oggetti misti grafici/testi ed è possibile scrivere attorno a una immagine.
Prima proposta per migliorare il livello 0: alcune caratteristiche sono state incluse nel livello 2, altre nel 3.
HTML (Netscape)
Livello 2 piú caratteristiche interpretate solo da un cliente Netscape, sono incluse alcune caratteristiche del livello 3.
Ogni browser interpreta l'HTML fino ad un certo livello. I vari tipi di HTML però sono retrocompatibili. Questo significa che generalmente i livelli alti che ammettono nuove possibilità prevedono istruzioni alternative interpretabili anche da interfacce utente di basso livello.
Ad esempio: l'istruzione < IMG SRC="dovesta/delphi.gif"> permette di includere in un documento l'immagine delphi.gif, che si trova al cammino specificato da ``dovesta''. I browsers ``solo testo'' non consentono di vedere immagini, l'istruzione quindi non viene interpretata da questi. È previsto però l'uso del predicato ALT con cui viene indicato il testo da mostrare al posto dell' immagine quando questa non è leggibile dal browser.
Questo serve a far sì che un documento sia fruibile a prescindere dal tipo di strumento utilizzato per la sua interpretazione. Come regola generale i documenti devono essere realizzati in modo da risultare leggibili nel miglior modo possibile. Devono cioè essere il più possibile indipendenti dal browser. Nella costruzione del pacchetto si è sempre cercato di seguire questa regola.
Per il pacchetto realizzato è stato usato HTML2 e le istruzioni di HTML3 comprese da Mosaic 2.5 e versioni successive . Per rendere simboli matematici e grafici non sono state usate istruzioni HTML, ma altri metodi che verranno descritti, dato che non esistono ancora versioni stabili di browsers che interpretano HTML3.
HTML3 è ancora in via di sviluppo e attualmente non è ricco di istruzioni alternative che garantiscano la retrocompatibilità. Versioni precedenti di browsers (come Mosaic 2.4 o inferiori) ignorano completamente le nuove istruzioni, questo può rendere il documento illeggibile. In alcuni casi è stato dunque necessario costruire due versioni dello stesso documento: una in HTML2, l'altra in HTML3. Queste pagine vengono richiamate da un eseguibile che analizza una variabile di ambiente la quale descrive le caratteristiche del cliente usato. Se il browser è sufficientemente evoluto viene servita la pagina in HTML3, altrimenti quella in HTML2.