xHTML chẳng qua chính là HTML mà thôi. Có điều nó tuân theo các quy tắc viết XML. Để so giữa xHTML và HTML ta có thể ví như 1 cái là văn phong nghiêm ngặt ở trường học, câu cú phải chuẩn xác, và 1 cái là văn nói ở ngoài đời, nói sao cũng được miễn người kia hiểu.
Nhớ là các thẻ (tag) xHTML khác với HTML ở vài điểm cơ bản sau:
1 – Nó phải viết thường chứ không được viết hoa. Tức là không viết <P> mà viết <p>
2 – Có thẻ mở thì bắt buộc phải có thẻ đóng. Ví dụ, đã có thẻ <p> thì phải có thẻ </p>
3 – Trường hợp có 1 thẻ duy nhất thì cuối thẻ phải có dấu gạch chéo / (slash). Nghĩa là với 1 số thẻ, như thẻ <br> chẳng hạn thì phải viết <br /> (có dấu cách _ trước ký tự /) chứ không phải là <br/> hay <br> hay </br>
Điều này có nghĩa là trong HTML ta mở thẻ mà không đóng thẻ cũng chẳng sao, không có dấu slash cũng chẳng ảnh hưởng, viết hoa viết thường lung tung vẫn okie, nhưng trong xHTML thì BUỘC PHẢI TUÂN THEO 3 nguyên tắc trên.
XHTML = XML + HTML => HTML tuân thủ các tiêu chuẩn của XML, đây là cái cơ bản của xHTML. Kết hợp thêm các Document Type Definition (DTDs) tiêu chuẩn sẽ có các phiên bản XHTML khác nhau với nhiều yêu cầu nghiêm ngặt hơn so với HTML thông thường.
Tập tin HTML nếu có Doctype là XHTML thì nó sẽ là XHTML, chẳng liên quan gì đến file extension.