Elementary Standards
HTMLCSSWeb StandardsSEOBlogStart reading
Home / HTML / Why Do You Still Use HTML 4?
HTML

Why Do You Still Use HTML 4?

The inertia keeping projects on HTML 4, and why moving to the living standard is low-risk.

5 min read·HTML

Somewhere out there, a perfectly functional site still opens with a doctype that references a DTD on a W3C server, declares itself HTML 4.01 Transitional, and has done so since a different decade. If that describes a project of yours, the first thing to say is: it probably still works. The second is that upgrading is far less frightening than the inertia suggests.

<article>Read on</article>

Why the inertia is real

People do not cling to HTML 4 out of love. They cling out of legitimate caution:

The good news: it is not a rewrite

The living standard was designed to be backwards compatible. Nearly all valid HTML 4 markup is still valid today. Your <p>, <table>, <a>, and <form> did not change. In the vast majority of cases, “moving off HTML 4” is a one-line edit at the top of the file:

<!-- before -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">

<!-- after -->
<!DOCTYPE html>

That single change swaps a Transitional doctype — which can nudge browsers toward almost-standards behavior — for a clean, unambiguous standards-mode trigger. Everything below it keeps working.

What you gain immediately

  1. Reliable standards mode. No more guessing which rendering quirks apply.
  2. Access to modern elements. You can start adding <main>, <video>, and new input types incrementally.
  3. Cleaner boilerplate. No DTD URL, no character-reference archaeology.
  4. Validators that understand you. The Nu Html Checker targets the living standard.

You do not migrate to the living standard the way you migrate a database. You change one line, confirm nothing broke, and then modernize at whatever pace suits you.

A sane migration path

Change the doctype. Load the site and click around. Run a validator and fix the handful of genuine errors it surfaces — usually a missing alt or an obsolete attribute like bgcolor. Then leave it. There is no obligation to adopt every new element the same afternoon. The point is to stop standing on a frozen version of a standard that has moved on. The risk of the move is small; the cost of staying is a slow accumulation of “why does this behave oddly” bugs that standards mode would simply not have.

More on HTML
Keep reading

Related essays