This document captures the differences between various HTML specifications.


This document describes the perceptible differences between three HTML specifications:

This document does not currently take into account extension specifications (longdesc, 2D context...) currently being developed by the HTML WG. They may be included in future updates after discussion in the working group.

"Perceptible" differences are substantive changes but not editorial details. (Example: an attribute that's not present in one specification would be listed along with whatever other pieces of the specification that it affects, but its absence from the appendix would not be accounted for.)

This document is updated on a regular basis based on the stream of commits made in the git repository. A more thorough update pass is made about every 6 months to ensure that nothing has been overlooked. Patches and bug reports are welcome at any time.

All differences are categorised as: "user agent" (for those that change UA behaviour), "validity" (that affect the validity of a document but not its behaviour), "author advice" (for non-normative advice given to authors but isn't typically validated for, usually because it's not possible), and "opinion" (the impact is unclear or hard to assess but the difference stems from disagreement nevertheless).

Each difference has a rationale for its existence. The rationale is intended to be succinct (no need to rehash discussions taking place elsewhere) and to simply state its cause.

You can contribute to this document over at, patches welcome!

Differences between WHATWG HTML LS and W3C HTML 5.1

See the section 1.12 About this document in HTML 5.1.

Differences between W3C HTML 5.1 and W3C HTML 5.0

Differences between WHATWG HTML LS and W3C HTML 5.0