HTML Deprecated Tags

Beginner
⏱️ 12 min read
📚 Updated: Jul 2026
🎯 6 Examples + 6 Try It
Legacy HTML migration

Introduction

Deprecated HTML tags are elements from older HTML versions that the living standard no longer recommends. Many controlled fonts, colors, layout, or frames directly in markup—roles now handled by CSS and semantic HTML5.

This hub explains which tags are outdated, why they were removed, what to use instead, and how to migrate legacy pages. You will also find a full reference table, categorized lists, and six side-by-side examples with live Try It editors.

What You’ll Learn

01

Deprecation

What it means.

02

Browser behavior

Do they still work?

03

Why removed

CSS & semantics.

04

Reference

Full tag table.

05

Migration

Modern replacements.

06

Examples

Before & after.

What Are HTML Deprecated Tags?

A deprecated HTML tag is an element that was once valid but is now discouraged or removed from the HTML specification. When a tag is deprecated, authors should stop using it in new documents and plan to replace it when maintaining older code.

Most deprecated tags are presentational—they describe how content should look rather than what it means. HTML5 shifted that responsibility to CSS so markup stays semantic and accessible.

💡
Not every old tag is deprecated

Elements like <s> and <u> remain valid HTML5. They have defined semantic roles and are not on the deprecated list—do not confuse them with legacy presentational tags like <strike> or <font>.

Do Deprecated Tags Still Work in Browsers?

In most cases, yes—browsers still parse and render many deprecated tags for backward compatibility. A page using <center> or <font> will usually display as expected in Chrome, Firefox, Safari, and Edge.

However, deprecated markup may fail HTML validators, behave inconsistently across browsers, break accessibility tools, and could stop working in future browser versions. Treat browser support as a grace period, not permission to keep using obsolete tags.

Why Tags Get Deprecated

HTML evolves as the web matures. Tags are deprecated or removed for several recurring reasons:

  • CSS replaced presentation in markup — font sizes, colors, alignment, and spacing belong in stylesheets, not tags.
  • Better semantic alternatives existabbr replaced acronym; del and s replaced strike.
  • Security and UX concerns — framesets complicated navigation; Java applets introduced security risks.
  • Platform features moved to APIskeygen gave way to the Web Crypto API for key generation.
  • Standardization cleanup — vendor-specific tags like blink and marquee were never fully standardized.

Why Knowing Deprecation Matters

If you maintain enterprise intranets, email templates, CMS exports, or codebases older than HTML5, you will encounter deprecated tags regularly. Understanding them helps you:

  • Audit legacy pages without breaking existing layouts
  • Plan incremental migrations to valid HTML5 + CSS
  • Pass accessibility and quality audits
  • Onboard developers who only know modern markup
  • Avoid copying outdated patterns from old tutorials

Obsolete vs Deprecated vs Valid

These terms are often used interchangeably but mean different things in the HTML specification:

StatusMeaningExamples
ValidPart of the living standard; use freely<p>, <s>, <u>, <menu>
DeprecatedDiscouraged; may still parse in browsers<font>, <center>, <big>
ObsoleteRemoved from the spec; non-conforming<frameset>, <xmp>, <menuitem>

Special cases: s, u, and menu

<s> and <u> are valid HTML5. s marks content that is no longer accurate; u represents unarticulated annotation (such as a proper name in Chinese text). Neither is deprecated—do not list them alongside tags like strike or font.

<menu> was deprecated in HTML 4 but reintroduced in HTML5 for toolbar-style command groups (often with type="toolbar"). It is not fully obsolete. By contrast, <menuitem> was part of a short-lived context-menu proposal and is removed/obsolete—use standard buttons or ARIA menus instead.

📝 Deprecated Tags Reference

Complete lookup: legacy tag, original purpose, and recommended modern replacement. Tags with dedicated tutorials link to their guide.

Deprecated Tags by Category

Presentational

Controlled fonts, colors, alignment, and spacing directly in markup. Replace with CSS classes.

Frames

Split the viewport into multiple documents. Replaced by iframe or single-page apps.

Embedding

Legacy media and plugin embedding. Use modern media elements or secure JS.

Text & Code

Displayed raw or monospaced text. Use pre and code with proper escaping.

Monospace

Structure & Forms

Obsolete structural and form-related elements.

Lists & search
Forms & IDs

Examples Gallery

Six before-and-after migrations from deprecated tags to modern HTML and CSS. Each includes View Output and Try It Yourself links.

Example 1 — <center> vs CSS text-align:center

The <center> tag horizontally centered content. Use CSS on a block element instead.

html
<!-- Legacy -->
<center>Centered text</center>

<!-- Modern -->
<p style="text-align: center">Centered text</p>
Try It Yourself

How It Works

Apply text-align: center to a block-level element, or use flexbox/grid for more complex centering.

Example 2 — <font> vs CSS color and font-family

The <font> tag set color and typeface via attributes. CSS classes are cleaner and reusable.

html
<!-- Legacy -->
<font color="blue" face="Georgia, serif">Styled text</font>

<!-- Modern -->
<p class="styled">Styled text</p>
Try It Yourself

How It Works

Move all presentation to a stylesheet. One class can style hundreds of elements consistently.

Example 3 — <big> / <strike> vs <del> + CSS

Use semantic del for deleted content and CSS font-size for larger text.

html
<!-- Legacy -->
<big>Larger</big> and <strike>removed</strike>

<!-- Modern -->
<span class="larger">Larger</span> and <del>removed</del>
Try It Yourself

How It Works

del communicates meaning to assistive technology; s is valid for content that is no longer relevant but not strictly deleted.

Example 4 — <marquee> vs CSS animation

marquee scrolled text without standardization. CSS @keyframes provides a maintainable alternative (use motion carefully for accessibility).

css
.scroll-text {
  animation: scroll-left 8s linear infinite;
}
@keyframes scroll-left {
  from { transform: translateX(100%); }
  to   { transform: translateX(-100%); }
}
Try It Yourself

How It Works

Respect prefers-reduced-motion and avoid auto-playing distracting animations on important content.

Example 5 — <frameset> vs single <iframe>

Framesets divided the entire window. Embed individual documents with iframe instead.

html
<!-- Legacy (obsolete) -->
<frameset cols="50%,50%">
  <frame src="nav.html">
  <frame src="main.html">
</frameset>

<!-- Modern -->
<iframe src="main.html" title="Main content"></iframe>
Try It Yourself

How It Works

For full app shells, prefer component-based layouts (header + nav + main) over nested browsing contexts.

Example 6 — <xmp> / <plaintext> vs <pre> / <code>

Legacy tags displayed raw markup. Escape entities and use pre for blocks or code inline.

html
<!-- Legacy -->
<xmp><p>Hello</p></xmp>

<!-- Modern -->
<pre>&lt;p&gt;Hello&lt;/p&gt;</pre>
Try It Yourself

How It Works

Always escape < and > when showing HTML source. For syntax highlighting, use a library or server-side highlighter.

💡 Best Practices

✅ Do

  • Replace presentational tags with CSS classes
  • Use semantic elements (del, abbr, pre)
  • Validate migrated pages with an HTML linter
  • Document legacy patterns when auditing old codebases
  • Link to individual tag guides for deep dives
  • Test accessibility after removing frames or marquee effects

❌ Don’t

  • Copy deprecated tags into new projects
  • Assume browser support means standards approval
  • List s or u as deprecated—they are valid HTML5
  • Use marquee or blink for critical UI
  • Build new layouts with frameset
  • Rely on font attributes for branding consistency

Backward Compatibility

Most deprecated presentational tags—center, font, big, strike, and marquee—still render in current browsers for legacy page support. Obsolete tags like frameset, xmp, and plaintext may parse unpredictably. Do not depend on either group for new development.

Legacy · Grace period

Deprecated HTML tags

Browsers maintain compatibility layers for old markup, but validators and linters flag deprecated elements. Migrate to CSS and semantic HTML5 for long-term reliability.

~90% Legacy tag rendering
Google Chrome All versions · Desktop & Mobile
Full support
Mozilla Firefox All versions · Desktop & Mobile
Full support
Apple Safari All versions · macOS & iOS
Full support
Microsoft Edge All versions · Chromium & Legacy
Full support
Internet Explorer IE 6+ · Legacy environments
Full support
Opera All modern versions
Full support
Deprecated tags Varies by tag

Bottom line: Treat deprecated tag support as temporary. Plan migrations even when pages still display correctly.

Conclusion

Deprecated HTML tags are a window into web history—and a maintenance task for anyone working with legacy content. Replace presentational markup with CSS, swap obsolete structure with semantic HTML5, and use this reference when auditing or migrating pages.

Explore individual guides like center, font, and marquee, or return to the HTML Tags overview for the full element index.

Key Takeaways

Knowledge Unlocked

Six things to remember about deprecated tags

Use these points when maintaining or migrating legacy HTML.

6
Core concepts
🎨 02

Use CSS

Replace font, center, big.

Migration
📝 03

Semantic HTML

del, abbr, pre, code.

Meaning
⚠️ 04

s & u are valid

Not deprecated in HTML5.

Nuance
🗃 05

Frames obsolete

Use iframe or SPA layout.

Structure
🎯 06

Practice

Try the live examples.

Hands-on

❓ Frequently Asked Questions

Deprecated HTML tags are elements that were once part of the HTML specification but are no longer recommended. The HTML living standard marks them as obsolete or non-conforming. Developers should replace them with modern semantic elements or CSS.
Many deprecated tags still render in browsers for backward compatibility—center, font, and marquee are common examples. However, they may fail HTML validation, behave inconsistently, and are not guaranteed to work forever.
Yes, when you maintain or refactor legacy pages. Replacing presentational tags with CSS and obsolete structure tags with semantic HTML improves accessibility, maintainability, and standards compliance without changing the visual design.
Deprecated usually means discouraged but may still parse. Obsolete means the element is removed from the specification entirely—browsers may still support it, but validators report errors. Some tags like frameset are fully obsolete in HTML5.
No. The s element is valid HTML5—it represents content that is no longer accurate or relevant. It is not the same as the deprecated strike tag, which was purely presentational. Use del for edits and s for stylistic strikethrough of outdated information.
Use CSS instead: color, font-family, font-size, and font-weight on a class or element. For emphasis, use semantic tags like strong or em. The font tag mixed presentation into markup; CSS separates style from structure.
Did you know?

The <marquee> element was never part of any W3C HTML recommendation—it originated as a Netscape extension in the 1990s. Browsers kept it for compatibility, but the HTML living standard lists it as obsolete alongside blink.

Migrate deprecated tags in the editor

Compare legacy center, font, marquee, and frameset patterns with modern HTML and CSS—then preview live.

Open Try It editor →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

6 people found this page helpful