XHTML heißt ausgeschrieben Extensible Hypertext Markup Language (zu deutsch: erweiterbares HTML) und ist eine Neuformulierung von HTML in XML. Im Gegensatz zu HTML, welches mittels SGML definiert wurde, verwendet XHTML die strengere und einfacher zu parsende aus SGML herausgezogene Teilmenge XML als Sprachgrundlage. XHTML–Dokumente entsprechen also den Syntaxregeln von XML. XHTML 1.0 enthält alle Elemente von HTML 4.01, sodass eine Umformung von HTML 4.01–konformen Seiten zu XHTML 1.0 leicht möglich ist. Prinzipiell sind sich die beiden Sprachen zum Verwechseln ähnlich. Sie benutzen die gleichen Elementnamen, haben die gleichen beziehungsweise ähnliche Attribute und beide sollten sich nach Standard–DTDs (Document Type Definitions) richten. Ein nicht XHTML–fähiger Webbrowser kann XHTML–Dokumente somit trotzdem richtig darstellen, da er sie als normales HTML verarbeitet. Dabei wird ausgenutzt, dass die HTML–Parser der verbreiteten Browser tolerant gegenüber Syntaxfehlern sind. HTML– sind dabei Programme, die HTML–Daten auslesen, interpretieren und gegebenenfalls auf Gültigkeit prüfen. Diese Fehlertoleranz entstand als Antwort darauf, dass zahlreiche HTML–Dokumente im World Wide Web nicht dem formalen Standard entsprachen und gleichzeitig Fehlermeldungen von Anwendern nicht akzeptiert werden. Für XHTML hingegen gilt die XML–Grundidee des unkomplizierten Datenaustausches und der problemlosen automatisierten Verarbeitung. Daher sind Programme, die XHTML verarbeiten, nicht mehr derartig tolerant. Von XHTML ausgehend sind nun wiederum neue Sprachen abgeleitet worden, wie zum Beispiel XHTML Basic oder die XHTML–Modularisierung.
Die Unterschiede der beiden Sprachen rühren daher, dass XHTML von XML und HTML von SGML kommt. Dies bringt mit sich, dass XHTML durch die strengeren XML–Regeln besser durchleuchtet werden muss, wobei bei HTML etwas lockerer mit Elementen und Attributen umgegangen werden konnte. Der größte Unterschied liegt im Wesentlichen also darin, bei XHTML die XML–Regeln einzuhalten. Dies äußert sich wie folgt:
XHTML Basic ist eine Untergruppe von XHTML. Ein Problem von XHTML ist, dass zum korrekten Darstellen von Dokumenten meist aufwendige Programme, ein schneller Prozessor und/oder ein großer Arbeitsspeicher notwendig sind. Geräte mit begrenzten Kapazitäten, wie zum Beispiel Mobiltelefone, können damit nicht Schritt halten. Hierfür wurde XHTML Basic geschaffen. Es bietet nur das Minimum an benötigten Elementen und Attributen. Durch die Verwendung von XHTML–Modulen (XHTML–Modularisierung) wird XHTML erweitert. XHTML Basic ist die Basis für XHTML Mobile Profile (welches als WAP 2.0 in allen modernen mobilen Endgeräten implementiert ist) und für WML 2.0.