もともとHTMLはXMLの親にあたるSGMLから派生した言語で、Webブラウザメーカー主導で独自の拡張が続いてきました。このため、HTML はXMLとは一部整合性を欠く言語仕様となっていましたが、両者の違いはある程度吸収できる範囲のものであるため、従来のWebブラウザでも問題なく見ら れ、かつXMLに準拠した文書を作成する言語仕様としてXHTMLが作成されました。
HTMLをXML準拠のものに更新した理由として、インターネットをはじめとしたオンラインでのデータの送受信にXMLが使用されることを想定し、HTML文書もXML処理系で統一的に扱える環境を整える必要があったことが挙げられています。
最初のW3C勧告となったXHTML 1.0はHTML 4.01を元にしたものとなっており、HTML4.01に対応したWebブラウザではほぼ完全な形でページを見られるようになっています。
現在の最新版はXHTML 1.1で、文書見栄えを指定するタグが廃止(見栄えの記述は全てCSSで行なうことになった)など、文書構造の記述に特化した言語へと変化しつつあります。
XHTMLの各バージョンに共通したHTMLとの違いをいくつかあげると、タグ名がすべて小文字に統一される、XMLベースの他の言語(MathMLやSVGなどが想定されている)による記述を埋め込むことができます。
終了タグをもたず単独で使用される「<br>」などのタグを「<br/>」ないし「<br />」と書く、などがあります。
