Rozszerzalny język znaczników hipertekstowych (XHTML) to szybki sposób na odniesienie się do kilku zaleceń językowych, które są powszechnie używane na urządzeniach z dostępem do Internetu do przeglądania stron internetowych. Chociaż nazwany tak od swojego poprzednika, hipertekstowego języka znaczników (HTML), w rzeczywistości jest oparty na rozszerzalnym języku znaczników (XML), który jest bardzo wybiórczą częścią standardowego uogólnionego języka znaczników (SGML). W gruncie rzeczy wszystkie są potomstwem SGML. Podczas gdy HTML jest bezpośrednim zastosowaniem SGML, XHTML jest tym, co określa się mianem przestrzeni nazw lub zbioru definicji dokumentu XML, który pomaga złagodzić niejasności, gdy w danej sytuacji używany jest więcej niż jeden słownik XML.
Język powstał z powodu kilku ograniczeń HTML i zróżnicowanego sposobu implementacji HTML. Mniej więcej w czasie, gdy HTML dotarł do wersji czwartej, zaczął zanikać we właściwym użyciu przez wiele interpreterów HTML, programów komputerowych, które analizują dokumenty HTML w sformatowaną, czytelną stronę internetową. Ponieważ pojawiły się również urządzenia mobilne i inne platformy do przeglądania stron internetowych, potrzebne było lepsze rozwiązanie. XML jest znacznie bardziej restrykcyjną implementacją SGML w porównaniu z HTML, a różne przestrzenie nazw XML mogą być używane w jednej instancji. Tak więc około roku 2000 konsorcjum World Wide Web Consortium (W3C) opracowało i uczyniło XHTML jedną ze swoich rekomendacji, aby rozwiązać niektóre z tych pojawiających się problemów.
Pod każdym względem XHTML naśladuje HTML w większości sposobów, ale ponieważ pierwszy używa przestrzeni nazw XML, może być parsowany przez dowolny interpreter XML, podczas gdy HTML jest ograniczony tylko do interpreterów HTML. XHTML to tak naprawdę HTML odtworzony w bardziej restrykcyjnym podzbiorze XML SGML. W ten sposób nowszy język mógł być natychmiast interpretowany przez istniejące przeglądarki internetowe, a jednocześnie był dostępny dla innych platform. Należy również zwrócić uwagę na przestrzeganie rozszerzalnego aspektu monikera XHTML. Nie tylko oferuje możliwość odczytywania przez więcej programów i platform, ale jest również rozszerzalny, umożliwiając korzystanie z innych przestrzeni nazw XML w swoich dokumentach.
Dzięki zdolności XHTML do włączania innych przestrzeni nazw XML w dokumencie, można go rozszerzyć na wiele sposobów, aby prezentować coś więcej niż tylko formatowanie strony. Na przykład w tych dokumentach można dołączyć język znaczników matematycznych (MathML), aby wyświetlać formuły matematyczne i notację. Obrazy można również osadzać za pomocą przestrzeni nazw skalowalnej grafiki wektorowej (SVG) w dokumencie tego typu. Jako taki, XHTML może być również dołączony do innego dokumentu XML.
Ponieważ XHTML jest tak naprawdę HTMLem dopracowanym zgodnie z regułami XML, oferuje trzy definicje typu dokumentu (DTD), które powielają definicje HTML w wersji czwartej. DTD to szczegółowy opis elementów języka znaczników, w tym kiedy, gdzie i jak może być używany, a także wszelkie powiązane atrybuty. Jednak w późniejszych wersjach XHTML ustanowiono schematy XML, inny, bardziej niezawodny sposób opisywania dokumentu XML, który dodatkowo wzbogacił XHTML. Z kolei opracowano różne uproszczone wersje XHTML, które można następnie wykorzystać do określonych zastosowań, z których wiele obraca się wokół mobilnych platform komputerowych.