HTML <blink> Tag

Beginner
⏱️ 5 min read
📚 Updated: Jun 2026
🎯 3 Examples
Text Formatting

What You’ll Learn

By the end of this tutorial, you’ll understand legacy blinking text markup and how to create accessible animation effects with CSS.

01

Historical Syntax

How <blink> made text flash on and off in old browsers.

02

Non-Standard Status

Why blink was never part of the official HTML specification.

03

Accessibility Risks

Motion sensitivity, WCAG flashing limits, and reduced-motion preferences.

04

CSS Replacement

Use @keyframes with controlled timing and easing.

05

blink vs marquee

Two legacy Netscape-era presentational tags from the 1990s.

06

Legacy Maintenance

Recognize blink in old code and migrate to modern CSS.

What Was the <blink> Tag?

The <blink> element was a Netscape Navigator extension that made enclosed text blink on and off. It was popular in the 1990s for sales banners and urgent alerts, but was never added to the HTML specification.

⚠️
Non-Standard & Obsolete — Use CSS

Do not use <blink> in new projects. Modern browsers ignore native blinking. Use CSS @keyframes with prefers-reduced-motion support when animation is truly needed.

Firefox removed native blink support in 2013. Other browsers never fully adopted it. Learn the tag for web history; animate text with CSS in all new work.

use-css-instead.css
.alert {
  animation: pulse 1.5s ease-in-out infinite;
}
@keyframes pulse {
  50% { opacity: 0.4; }
}
@media (prefers-reduced-motion: reduce) {
  .alert { animation: none; }
}

📝 Syntax (Historical)

Wrap text between opening and closing <blink> tags:

syntax.html
<blink>Your Blinking Text Here</blink>
  • <blink> is an inline element—it nested inside paragraphs and headings.
  • No tag-specific attributes existed; the blink effect was automatic in supporting browsers.
  • Modern browsers render the text as plain content with no blinking behavior.

⚡ Quick Reference

TopicCode SnippetNotes
Basic blink<blink>Alert!</blink>Not supported natively today
OriginNetscape extensionNever a W3C HTML standard
CSS animationanimation: pulse 1.5sModern replacement
Reduced motion@media (prefers-reduced-motion)Disable animation for a11y
vs marquee<marquee>marquee scrolled; blink flashed
Tag-specific attrsNoneGlobal attributes only

🧰 Attributes

The <blink> tag had no tag-specific attributes. Global attributes could be applied, but the element itself should not be used in modern HTML:

class / id Global

Prefer a CSS class with animation instead of the blink tag.

<span class="pulse-alert">
style Inline

Inline animation is possible but external CSS is cleaner and easier to maintain.

animation: pulse 1.5s infinite

The entire <blink> element is obsolete. Use CSS animations for visual emphasis in new projects.

Examples Gallery

Historical blink patterns plus the modern CSS replacement. Native blink does not work in modern browsers—demos use CSS animation to show the historical effect.

👀 Live Preview

Modern browsers ignore native <blink>. This demo uses CSS animation to show the historical effect:

Basic Blinking Text

The simplest form: wrap words in <blink> to make them flash.

⚠️ Obsolete tag — native blink not supported in modern browsers.
basic-blink.html
<p>Blinking: <blink>Your Blinking Text Here</blink></p>
Try It Yourself

📚 Common Use Cases (Historical)

Developers once used <blink> for sale banners, breaking news, and urgent warnings. Today use subtle CSS emphasis or static bold text instead.

Urgent Sale Message

A typical 1990s pattern: blink a sale headline to grab attention.

sale-alert.html
<p>
  <blink>Limited Time Offer!</blink>
  Get 50% off all items today only.
</p>
Try It Yourself

Modern CSS Animation Replacement

This is what beginners should use today. CSS gives you control over speed, easing, and accessibility via prefers-reduced-motion.

css-replacement.html
<style>
  .pulse-alert {
    animation: pulse-text 1.5s ease-in-out infinite;
    color: #b91c1c;
    font-weight: 700;
  }
  @keyframes pulse-text {
    50% { opacity: 0.4; }
  }
  @media (prefers-reduced-motion: reduce) {
    .pulse-alert { animation: none; }
  }
</style>
<p><span class="pulse-alert">Limited Time Offer!</span> Get 50% off.</p>
Try It Yourself

♿ Accessibility

Blinking text creates serious accessibility problems:

  • Motion sensitivity — flashing text can trigger dizziness or nausea (vestibular disorders)
  • WCAG guidelines — avoid content that flashes more than 3 times per second
  • prefers-reduced-motion — always disable animations when users request reduced motion
  • Better alternatives — use bold text, color, or icons instead of blinking

🧠 How <blink> Worked

1

Author wrapped text in blink

Mark words that should flash on and off to grab attention.

Markup
2

Browser toggled visibility

Supporting browsers alternated text between visible and hidden at a fixed interval.

Rendering
3

Browsers dropped native support

Firefox removed blink in 2013. Other browsers never fully adopted it.

Evolution
=

Today: use CSS animations

Learn blink for history. Animate text with CSS and respect prefers-reduced-motion.

Browser Support

Modern browsers do not natively support <blink>. Text inside the tag renders as plain text. Use CSS animations for blinking effects.

Non-Standard · Not in HTML5

No native support in modern browsers

Firefox removed blink in 2013. Chrome, Safari, Edge, and Opera never implemented native blinking. Text renders as static content only.

0% Modern support
Google Chrome Never supported · Plain text only
Not supported
Mozilla Firefox Removed 2013 · Obsolete
Not supported
Apple Safari Never supported · Plain text only
Not supported
Microsoft Edge Never supported · Plain text only
Not supported
Internet Explorer Legacy only · EOL
Legacy only
Opera Never supported · Plain text only
Not supported

Why blink was abandoned

Accessibility harm and lack of standardization drove universal deprecation.

Motion sensitivity Flashing text triggers vestibular disorders and violates WCAG
A11y
🎨
CSS @keyframes Controlled animation with prefers-reduced-motion support
Replacement
<blink> tag 0% modern support

Bottom line: Do not use <blink> in new projects. Use CSS animations with prefers-reduced-motion when subtle emphasis is needed.

Conclusion

The <blink> tag is a relic of early web design—recognize it in old code, but never use it in new projects. CSS animations with prefers-reduced-motion give you controlled, accessible alternatives when subtle emphasis is truly needed.

💡 Best Practices

✅ Do

  • Use CSS @keyframes for animation effects
  • Honor prefers-reduced-motion in your stylesheets
  • Prefer bold text or color for emphasis
  • Learn blink only to read legacy HTML

❌ Don’t

  • Use <blink> in new HTML code
  • Create rapid flashing effects (WCAG violation)
  • Assume blink works in modern browsers
  • Use blinking for critical information alone

Key Takeaways

Knowledge Unlocked

Six truths every developer should know about <blink>

Bookmark these before you ship — they’ll keep your UI accessible and standards-compliant.

6
Core concepts
🚫 02

Never Standardized

Netscape extension—never part of the official HTML spec.

Status
🎨 03

Use CSS Instead

@keyframes animations replace native blink behavior.

Migration
04

Hurts Accessibility

Flashing text triggers motion sensitivity and WCAG violations.

A11y
🚫 05

No Modern Support

Firefox removed it in 2013; others never adopted it.

Compatibility
🔈 06

Reduced Motion

Always honor prefers-reduced-motion in CSS animations.

Policy

❓ Frequently Asked Questions

It made enclosed text flash on and off to grab attention for sales, alerts, or urgent messages.
No. It was never in the HTML standard and is obsolete. Modern browsers ignore the blinking behavior.
CSS @keyframes animations with prefers-reduced-motion media query support.
Flashing text causes accessibility problems and creates a poor reading experience. Web standards moved to CSS for visual effects.
No. Use CSS animations with reduced-motion support. Learn blink only to understand legacy HTML.

Learn the Modern Way

Skip obsolete blink. Practice accessible CSS animations in the Try It editor.

Try CSS Animation →

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