HTML (v2: RFC 1866) is een op SGML gebaseerde opmaaktaal voor de specificatie van documenten. De oorspronkelijke toepassing was de documentatie van CERN toegankelijker te maken door links naar andere documenten mogelijk te maken mbv. "hypertext". Maar CERN is een internationale organisatie, veel documenten bevinden zich buiten Genève, zodat HTTP ontworpen werd voor het downloaden ervan. Dit samen werd de voorloper van het "World Wide Web".
HTML kent een groot aantal zogeheten tag's, genoteerd als een naam of afkorting tussen <> haakjes. Sommige tag's hebben een directe betekenis zoals "≺br≻eak" (nieuwe regel), maar de meeste geven betekenis aan een stuk tekst zoals "≺p≻dit is een paragraaf≺/p≻" en die daarom ook afgesloten moet worden met dezelfde tag voorafgegaan door een / (einde deze tag). De tag's geven vooral ook structuur aan het document, op de zelfde wijze als in met een tekstverwerker aangemaakte documenten.
Elk HTML-document heeft een vast formaat, het moet tenslotte door computers "gelezen" kunnen worden. Na een bestandstype kenmerk "≺!DOCTYPE html≻", komt het eigenlijke document tussen ≺html≻ en ≺/html≻. Binnen dit html-blok zijn er altijd 2 vaste blokken: ≺head≻ en ≺body≻.
Binnen het head-blok is tenminste een ≺title≻ en verder optioneel allerlei velden zoals trefwoorden, beschrijvingen, lettercodes en veel meer metadata.
De pagina zelf komt vanzelfsprekend binnen het body-blok in de vorm van ≺h≻eaders, ≺p≻aragrafen, ≺a≻nchor's (links), ≺img≻'s (plaatjes) en ≺div≻'s (blokken voor pagina-indeling).
Oorspronkelijk bevatte HTML ook diverse opmaakelementen, maar die zijn vervangen door CSS-stijlen.
Voor veel detailinformatie zie: w3schools.