HTML Tutorial · HTML Basics · Lesson 10 of 34
HTML History & Versions
How Tim Berners-Lee invented HTML for the World Wide Web, every version from the first 18 tags to HTML5 and today's Living Standard on one timeline, what HTML5 changed, and how new elements reach browsers now.
How HTML started
In March 1989, Tim Berners-Lee, a physicist at CERN in Switzerland, proposed an information system to help researchers share documents: the World Wide Web. By the end of 1990 he had written the first web server, the first browser and the language for its pages, the HyperText Markup Language. HTML was inspired by SGML, a markup system already used at CERN, and added the crucial new idea of hyperlinks between documents.
His "HTML Tags" document (1991) described just 18 elements, such as <title>, <p>, lists and <a> for
links; a few of them are still used exactly the same way today. The first official standard, HTML 2.0, was
published by the IETF in 1995. Since then the language has been developed by the W3C (founded by Berners-Lee in
1994) and, today, by the WHATWG, a group formed by browser makers.
Timeline of HTML versions
- HTML Living StandardCurrent
- The single HTML specification maintained by the WHATWG and endorsed by the W3C; updated continuously, no version numbers
- Recent additions:
<dialog>, thepopoverattribute,<search>, exclusive accordions<details name="...">,inert, lazy-loading images
- HTML 5.2Historic
- The last numbered W3C version
- HTML 5.1Historic
<picture>andsrcsetfor responsive images
- HTML5Historic
- Semantic elements (
<header>,<nav>,<main>,<article>,<footer>),<video>and<audio>without plug-ins,<canvas>, new form inputs (email,date,range), APIs such aslocalStorage
- Semantic elements (
- HTML WHATWGHistoric
- Apple, Mozilla and Opera start "Web Applications 1.0", which became HTML5
- HTML XHTML 1.0Historic
- HTML rewritten with strict XML syntax (the planned XHTML 2.0 was later abandoned)
- HTML 4.01Historic
- Presentation moved to CSS; strict and transitional variants; the version of the early-2000s web
- HTML 3.2Historic
- The first W3C recommendation: tables, applets, text flow around images
- HTML 2.0Historic
- The first standard (IETF RFC 1866), including forms
- HTML TagsHistoric
- Tim Berners-Lee's first public description of HTML: 18 elements
How HTML modernized
- From documents to applications. HTML5 added the elements and APIs needed for web apps, and native
<video>,<audio>and<canvas>removed the need for plug-ins. Flash, once everywhere, reached end of life in December 2020. - One living standard. In 2019 the W3C and WHATWG agreed on a single HTML specification. New features are added when browsers agree to implement them, instead of in big numbered versions.
- Error-tolerant parsing. HTML5 defined exactly how browsers must parse even broken markup, so all browsers now build the same page from the same HTML.
- Built-in components. Features that used to need JavaScript libraries, such as dialogs, popovers, accordions, lazy loading and form validation, are now plain HTML.
- Baseline. Since 2023, a feature labelled Baseline works in all major browsers, which makes it easy to know when a new element is safe to use.
HTML 4.01 vs HTML5
| Topic | HTML 4.01 | HTML5 / Living Standard |
|---|---|---|
| Doctype | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
<!DOCTYPE html> |
| Page structure | <div id="header">, <div id="nav"> |
<header>, <nav>, <main>, <footer> |
| Video and audio | Plug-ins (Flash, QuickTime) | <video> and <audio> |
| Graphics | Images only | <canvas> and inline <svg> |
| Forms | Text, checkbox, radio, select | Also email, url, date, number, range, color, built-in validation |
| Character set | <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<meta charset="utf-8"> |
| Storage in the browser | Cookies only | localStorage, sessionStorage, IndexedDB |
Recent HTML features and when they became Baseline
| Feature | What it does | Baseline since |
|---|---|---|
<dialog> |
Native modal and non-modal dialogs | 2022 |
loading="lazy" on images |
Load images only when they are about to be seen | 2022 |
inert |
Make part of a page unfocusable and unclickable | 2023 |
<search> |
A landmark element for search forms | 2023 |
popover |
Menus, tooltips and pop-ups without JavaScript | 2024 |
<details name="..."> |
Accordions where only one item is open at a time | 2024 |
Which version should you use?
There is only one: write HTML5 / the Living Standard, starting every page with <!DOCTYPE html>. Before using a
very new element, check its Baseline status on MDN or
web.dev/baseline.
Official resources
- The HTML Living Standard by the WHATWG
- MDN HTML reference
- Baseline and Can I use for browser support
- Tim Berners-Lee's original "HTML Tags" document
- RFC 1866: HTML 2.0
Last reviewed 21 October 2026. Release and support dates come from the official release pages linked above.