W3docs

Deprecated HTML Tags

Deprecated elements are the ones that are allowed, but not recommended and are being replaced by newer ones. See deprecated HTML tag list with their alternates.

This chapter explains which HTML tags are deprecated, why they fell out of favor, and what to use instead. If you have inherited old markup or copied a snippet from an old tutorial, this is your map to the modern replacement.

Why HTML tags get deprecated

Most deprecated tags share one root cause: they mix presentation (how content looks) into the structure (what content means). Early HTML had tags like <font>, <center>, and <big> that controlled colors, alignment, and sizes directly in the markup. That approach does not scale: changing the look of a site meant editing every page by hand.

Modern web development follows the principle of separation of concerns: HTML describes the structure and meaning of content, while CSS handles all of the styling. This makes pages easier to maintain, lighter to download, and more flexible to restyle. It also improves accessibility — screen readers and other assistive tools rely on meaningful, semantic markup, not on visual tricks. For a fuller picture of the modern, meaning-first approach, see Semantic Elements in HTML5 and the HTML5 introduction.

Deprecated vs. obsolete

These two terms are often used interchangeably, but they are not the same:

  • Deprecated — the tag is still allowed and most browsers still render it, but its use is discouraged. It may be removed in the future.
  • Obsolete — the HTML5 specification says the tag must not be used. Browsers may keep rendering it only for backward compatibility, but you should never write new markup with it.
Warning

Do not rely on a deprecated tag "just working." Browser support can be dropped at any time, and these tags often behave inconsistently across browsers. Always prefer the modern replacement.

Before and after: replacing a deprecated tag

The classic example is <font>, which set color, size, and typeface directly in the markup. Here is the old way next to its CSS equivalent.

Deprecated, presentation-in-HTML:

<font color="red" size="5" face="Arial">Important notice</font>

Modern, structure plus CSS:

<p class="notice">Important notice</p>
.notice {
  color: red;
  font-size: 1.5rem;
  font-family: Arial, sans-serif;
}

The second version separates what the text is (a paragraph that is a notice) from how it looks. You can restyle every .notice on the site by editing one CSS rule. Learn more on the CSS font and text-align pages.

Accessibility notes

Some deprecated tags are discouraged specifically because they create barriers for users:

  • <blink> and <marquee> produce flashing or moving text. Movement and flashing are distracting for many readers, can make text impossible to read for people with cognitive or attention differences, and rapid flashing can even trigger seizures in users with photosensitive epilepsy. If you genuinely need motion, use CSS animation — and respect the user's prefers-reduced-motion setting so it can be turned off.
  • <acronym> was replaced by <abbr> because the distinction between an "acronym" and an "abbreviation" was confusing and inconsistent. The single <abbr> element covers both, and assistive technologies can announce its expanded title text to users.

Deprecated HTML Tag List

TAGDescriptionALTERNATE
<acronym>Tells the browser that the characters it contains are an acronym or abbreviation.<abbr>
<applet>Defines embedded Java applet.<object>
<basefont>Specifies the default font size and color of the text.CSS styles
<big>Increases the font size by one conventional unit.CSS styles
<blink>Creates an enclosed text, which flashes slowly.animation
<center>Aligns the content to the centre.text-align
<dir>Defines a list of directory titles.<ul>
<font>Defines the font characteristics.CSS styles
<frame>Defines a specific window, a frame, where we can load another web page.<iframe>
<frameset>Defines the structure of a frame.<iframe>
<isindex>Displays search strings in the current document.<form>
<noframes>Contains an alternate text to be displayed in browsers that do not support frames.Fully obsolete with <frameset>/<frame>; no direct replacement.
<marquee>Creates a scrolling text or an image.animation
<spacer>Inserts blank space (horizontal or vertical) for layout.CSS styles (margin/padding)
<menu>Defines a list of commands.<ul>
<plaintext>Tells the browser that its content must be displayed as ordinary text without formatting.<pre>
<strike>Defines the strikethrough text.<del>
<tt>Defines text to be displayed in monospace font.<code>

Practice

Practice
Which of the following HTML tags are deprecated according to w3docs.com?
Which of the following HTML tags are deprecated according to w3docs.com?
Practice
What is the main reason tags like font, center and big were deprecated?
What is the main reason tags like font, center and big were deprecated?
Practice
Which modern element replaces the deprecated acronym tag?
Which modern element replaces the deprecated acronym tag?

Next steps

Now that you know what to avoid, learn the modern, meaning-first alternatives in HTML Elements and Semantic Elements in HTML5, then move all visual styling into CSS.

Was this page helpful?