SEO check

Deprecated HTML Tags: What They Are and How to Replace Them

Deprecated HTML tags such as font, center and marquee still render, but they belong in CSS. Here is how to spot them and swap them out.

Free to use 9 min read Updated Oct 2026

Deprecated HTML tags: the quick answer

Quick answer: Deprecated HTML tags, also called obsolete tags, are old presentational elements such as font, center and marquee that the HTML standard tells authors not to write, because CSS does the same job. Browsers still draw them, which is why they linger on old sites. Our report fails any page that contains a font, center or marquee tag.

  • Pass: none of font, center or marquee appears anywhere in the rendered page.
  • Fail: at least one of the three appears, even a single time.
  • Fix: replace each tag with CSS or a modern element, then run the check again.

Check my site free

What are deprecated HTML tags?

These elements come from the Netscape Navigator and Internet Explorer era, before CSS existed. The font tag set color and size, center centered content, and marquee scrolled text. Stylesheets took over those jobs, and semantic HTML replaced presentational markup.

The history differs by tag. HTML 4.01 deprecated font and center. Marquee began as an Internet Explorer extension and never made it into the HTML 4 specifications at all. The HTML obsolete features list in the HTML Living Standard, which WHATWG maintains, now names all three as obsolete and non-conforming. Authors must not use them, and the Nu Html Checker reports an error.

Browsers keep drawing them, so a page can look perfect and still be full of them. Take <font color="red">Sale</font>: the modern version is <span class="sale-note">Sale</span> with the colour set in a stylesheet, which keeps content and presentation apart. The s and u tags are valid, because HTML5 gave them new meanings.

Deprecated, obsolete and non-conforming: are they different?

Deprecated is the older HTML 4 word, and the one MDN uses. Obsolete and non-conforming are the current standard's words. In daily practice, deprecated vs obsolete makes no difference: replace the tag.

How SEO Site Checker tests for deprecated HTML tags

Our report does not read your raw source file. It loads the page like a visitor and searches what comes out.

The exact rule: the check fails when the rendered page contains at least one font, center or marquee element, in any letter case, anywhere in the document. There is no warning level, only pass or fail.

What the check looks at

Headless Chromium opens your URL, waits for the load event and takes the rendered DOM. A parser then searches that DOM for the three tag names. A tag injected by JavaScript before the load event counts, and so does one inside a noscript or template block.

What passes and what fails

A fail shows a red icon, the tag names found and a How to Fix button. The failed message counts distinct tag names, so forty font tags report one deprecated tag.

What it does not test

Pages that only mention the tag in an HTML comment or a JavaScript string pass, because neither is a DOM element. It also skips big, strike, tt, acronym, basefont, dir and applet, and attributes such as align and bgcolor. A pass means no font, center or marquee, nothing more. Frames have their own Framesets check.

Run the free report on my page

Do deprecated HTML tags hurt SEO?

We found no Google Search Central documentation that treats these tags as a ranking factor, so doubt any page promising a jump from removing them. The real costs are indirect.

Scattered styling slows every redesign. Accessibility is the sharper problem. Marquee moves content unprompted, and criterion 2.2.2 in the WCAG pause stop hide rule from the W3C expects a way to pause, stop or hide moving content that lasts longer than five seconds. A few old tags usually mean a legacy theme or pasted HTML, and in our report they count as one failed item, so clearing them removes that failure.

List of deprecated HTML tags and what to use instead

Use this table when a tag turns up in your source. The last column shows what our report tests.

TagWhat it didUse insteadTested
font tagSet text color and sizeCSS font-family, font-size and color on a classYes
center tagCentered its contentstext-align: center, flexbox centering or margin: autoYes
marquee tagScrolled text across the pageCSS keyframes animationYes
big tagMade text largerfont-size, or strong where it meant importanceNo
strike tagStruck text throughdel element, or text-decoration: line-throughNo
tt tagSet text in monospacecode, kbd or samp elementNo
acronym tagMarked an abbreviationabbr elementNo
frameset tag, noframes tagSplit a page into framesiframe element or server side includesNo, own check

A few relics belong in the same pile. The applet tag gives way to the object element, the basefont tag becomes CSS on the body, the dir tag becomes a plain ul, and blink is no longer drawn by any current browser, so delete it. Rarer ones turn up in very old pages: isindex gives way to a form with an input, xmp and plaintext to pre with code, nobr to the CSS white-space property, and bgsound to the audio element. Presentational attributes follow the same logic, so align becomes text-align, bgcolor becomes background-color and valign becomes vertical-align. The MDN obsolete elements list covers anything unfamiliar,.

How to replace deprecated HTML tags

  1. Find them. Start from the tag name in the report, then search your source files.
  2. Replace them. Swap font, center and marquee for CSS, as shown below.
  3. Fix the source. Edit the template, saved content or plugin that prints the tag.
  4. Re-test. Clear caches and run the check again.

Find every instance first

This recursive, case-insensitive search finds every hit. The paths are placeholders.

Text
grep -rniE "<(font|center|marquee)[[:space:]/>]" path/to/your-theme path/to/exported-content

The report names only three tags, so the other obsolete elements need a different net. Run the page through the W3C Nu Html Checker or the W3C Markup Validation Service, which report each obsolete element as an error, or widen the search above with the other tag names added.

Replace font, center and marquee

Font becomes a span with a class, and size 4 is about 18px, which is 1.125rem in the stylesheet below. For center, remove the element and put text-align: center on its parent or on a wrapping div. A fixed-width block needs margin: 0 auto instead. Marquee needs a wrapper, because the animation moves the inner span.

HTML
<!-- before -->
<font color="red" size="4">Sale ends Friday</font>
<center>Welcome</center>
<marquee>Free shipping this week</marquee>
<!-- after -->
<span class="sale-note">Sale ends Friday</span>
<div class="text-center">Welcome</div>
<div class="ticker"><span>Free shipping this week</span></div>
CSS
.sale-note { color: #c0392b; font-size: 1.125rem; }
.text-center { text-align: center; }
.ticker { overflow: hidden; white-space: nowrap; }
.ticker span { display: inline-block; padding-left: 100%; animation: ticker 15s linear infinite; }
@keyframes ticker { to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .ticker span { animation: none; padding-left: 0; } }

The media query helps visitors who ask for less motion, but it is not a pause button. Any ticker that runs longer than five seconds needs a visible pause control to meet WCAG 2.2.2, and the simplest compliant option is static text.

Re-run the check

Clear your page, CDN and plugin caches, then run the free report on the same URL. A fresh failure usually means a script adds the tag.

Where deprecated tags hide in WordPress, Shopify and page builders

On WordPress the usual culprits are an old theme, plugin templates and classic editor posts. Open Appearance, then Theme File Editor (under Tools on block themes), search the template files and check Custom HTML blocks in older posts. A center tag in newer block editor content usually arrived by paste, a Custom HTML block or a plugin.

On Shopify, open Online Store, Themes, Edit code, and search the layout, section and snippet files, then check product descriptions in HTML view. Wix and Squarespace hits come from Code or Embed blocks and header injection.

Widgets, ad scripts and chat tools can add tags while the page loads, and our check sees those. A script that injects markup later, after the load event, can slip past the report, so use the browser developer tools to check for it. A tag that shows in view page source comes from your files, while one only in the developer tools comes from a script.

Mistakes to avoid when removing deprecated tags

  • Swapping font for inline styles. That only moves the mess; use a class and a stylesheet, as the inline CSS guide explains.
  • Deleting center with no replacement. The content ends up jammed against the left edge, so add the text-align rule in the same edit.
  • Rewriting s and u. Both are valid HTML with their own meanings today, so leave them in place.
  • Fixing only the template. Posts and pages already saved in your database keep their old tags until you edit each one.

Watch out: a pass here covers font, center and marquee only, so use the table above as a cleanup list for the rest.

How to Fix

The short version, the same steps you see when you click How to Fix in your report.

Why this fails: the report found at least one font, center or marquee tag in your rendered page, including any added by scripts before the page finishes loading, or sitting inside noscript. These tags are obsolete in the HTML standard, even though browsers still draw them, because CSS does the same job.

How to fix it:

  1. Find each tag named in the report by viewing the page source (Ctrl+U, or Cmd+Option+U on a Mac) or searching your theme files and saved content.
  2. Replace every font tag with a span that has a class, and move the color and size into your stylesheet.
  3. Remove each center tag and put text-align: center on its parent element, or on a div with a class that wraps the same content. For a fixed-width block, use margin: 0 auto instead.
  4. Replace every marquee with a div and span driven by a CSS keyframes animation, and switch it off for visitors who prefer reduced motion.
  5. Save the change, clear your caches and publish.
HTML
<!-- before -->
<font color="red" size="4">Sale ends Friday</font>
<center>Welcome</center>
<marquee>Free shipping this week</marquee>
<!-- after -->
<span class="sale-note">Sale ends Friday</span>
<div class="text-center">Welcome</div>
<div class="ticker"><span>Free shipping this week</span></div>
CSS
.sale-note { color: #c0392b; font-size: 1.125rem; }
.text-center { text-align: center; }
.ticker { overflow: hidden; white-space: nowrap; }
.ticker span { display: inline-block; padding-left: 100%; animation: ticker 15s linear infinite; }
@keyframes ticker { to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .ticker span { animation: none; padding-left: 0; } }

Where to look on common platforms:

  • WordPress: theme template files, plugin templates and old classic editor posts.
  • Shopify: the theme code editor and product descriptions.
  • Wix and Squarespace: custom code and embed blocks.
  • Plain HTML: a find in files across the whole site.

Re-test: open the page, press F12 and run this in the console. It must return 0.

JavaScript
document.querySelectorAll('font, center, marquee').length

Also search the page source, because that query skips tags inside noscript and template blocks, which our report still counts. Then run the free SEO check again to confirm the row turns green.

Re-test my website

Frequently Asked Questions

What is a deprecated HTML tag?
A deprecated HTML tag is one the standard has retired because CSS or a newer element does the job better. Browsers usually still render it, but validators flag it. The font, center and marquee tags are the classic examples.
What are the most common deprecated tags in HTML?
The usual suspects are font, center, marquee, big, strike, tt, acronym, basefont, dir, applet and the frame family. Our report tests only font, center and marquee. Two look-alikes are fine: s now marks content that is no longer accurate, and u marks text with an unarticulated annotation, such as a misspelling flag.
Which deprecated HTML tag makes text blink or scroll?
The blink tag made text flash and the marquee tag scrolls it, and both are obsolete. No current browser draws blink, while marquee still scrolls. Use a CSS animation instead and switch it off for visitors who prefer reduced motion. Keep any replacement slow, since content that flashes more than three times a second can trigger seizures.
Do deprecated HTML tags hurt SEO?
Google documents no ranking penalty for these tags. The costs are indirect: scattered styling slows every redesign, fixed font sizes fight responsive layouts, marquee raises an accessibility problem, and the tags count as one failed item in our report.
Can I still use deprecated HTML tags on my website?
Technically yes, but you should not. Current browsers render them for backward compatibility, yet the standard says authors must not use them and nothing guarantees they will keep working. Use CSS for new work and replace old tags when you next edit a page.
How do I know if an HTML tag is deprecated?
Look for the Deprecated badge on its MDN page, check the obsolete features list in the HTML standard, or run a validator that calls the element obsolete. Our report names any font, center or marquee tag it finds.
What is the difference between deprecated and obsolete HTML?
MDN shows a Deprecated badge on a feature it advises against, while the HTML standard calls the same elements obsolete and non-conforming, which is the status that makes a validator report an error. Whichever label you meet, the instruction is the same: replace the tag.

See how your site scores right now

Paste your address into the free report, then use the How to Fix button on anything that needs work.

Free to use. Results in under a minute for most sites.