HTML <rtc> Tag

Beginner
⏱️ 6 min read
📚 Updated: Jun 2026
🎯 3 Examples
Deprecated HTML

What You’ll Learn

The <rtc> tag once wrapped ruby text annotations in East Asian typography. This guide explains its historical role, obsolete status, and the modern ruby, rt, and rp elements beginners should use instead.

01

Ruby Container

Historical role.

02

Obsolete

Not for new pages.

03

rt Direct

Modern pattern.

04

Pronunciation

Reading hints.

05

CSS on rt

Style alternative.

06

Migration

Skip rtc today.

What Is the <rtc> Tag?

The <rtc> (Ruby Text Container) tag was used within a ruby element to specify a container for text annotations that provide pronunciation or other information about the base text, particularly in East Asian typography.

Historically, rtc was often used with deprecated rb and rt elements in complex ruby markup structures.

⚠️
Obsolete in HTML5 — Do Not Use

The <rtc> tag is an obsolete feature in the HTML Living Standard. Place rt directly inside ruby instead.

Learn rtc only to understand legacy markup. For ruby annotations today, use ruby with rt and optional rp fallback.

🚫 Deprecated Status

The <rtc> tag is listed as an obsolete feature in the HTML specification. Modern ruby markup does not require a separate container for annotation text — placing rt directly inside ruby is sufficient.

  • Obsolete alongside deprecated rb in simplified ruby models.
  • Not recommended for new web development projects.
  • Using rtc may cause inconsistent parsing across browsers.
  • Replace with ruby, rt, and rp in all new documents.

📝 Syntax

Historical syntax placed rtc inside ruby alongside rb and rt:

historical.html
<ruby>
  <rb></rb>
  <rtc>
    <rt>kan</rt>
  </rtc>
  <rb></rb>
  <rtc>
    <rt>ji</rt>
  </rtc>
</ruby>

Modern Replacement Syntax

modern-ruby.html
<ruby><rt>kan</rt><rt>ji</rt>
</ruby>

Syntax Rules

  • Do not wrap rt in rtc in new documents.
  • Do not use deprecated rb for base text.
  • Put base characters and rt annotations directly inside ruby.
  • Add rp for fallback parentheses when needed.

⚡ Quick Reference

TopicDetailsModern choice
StatusObsolete featureDo not use
Historical roleWrapped rtrt in ruby
Stylingclass on rtcclass on rt/ruby
PronunciationInside rtcDirect rt
FallbackNon-ruby browsersrp
Browser support0% modernUse alternatives

⚖️ <rtc> vs <rt>

ElementStatusUse today?
<rtc>Obsolete; annotation wrapperNo
<rt>Valid HTML5; ruby textYes
<ruby>Valid HTML5; containerYes
<rp>Valid HTML5; fallbackYes

🧰 Attributes

Historically, rtc supported global attributes such as class, id, style, title, and lang. Because the element is obsolete, apply styling on ruby or rt instead.

historical-attributes.html
<rtc class="annotation" style="color: red;">
  <rt>kan</rt>
</rtc>
class On rt/ruby

Modern alternative: style annotations via rt or parent ruby.

class="pronunciation"
style On rt/ruby

Use CSS on rt instead of obsolete rtc wrappers.

style="font-size: smaller"
lang Global

Set language on the page or ruby element for correct typography.

lang="ja"

📚 Common Use Cases

The <rtc> tag was used in ruby annotations for pronunciation guides and detailed context. Due to its obsolete status, these use cases are now handled with rt directly inside ruby.

Do not use rtc in new pages. Browsers expect rt directly in ruby. Use the modern alternatives in the Examples Gallery below.

Examples Gallery

Practice the modern replacements for obsolete rtc: direct rt in ruby with CSS styling.

👀 Live Preview

Modern ruby with direct rt (replaces rtc wrapper):

kanji

Ruby Annotations for Pronunciation

The primary historical use of rtc was pronunciation guides for East Asian characters. Use rt directly instead.

pronunciation.html
<ruby><rt>kan</rt><rt>ji</rt>
</ruby>
Try It Yourself

Detailed Annotations

rt can provide additional information or context beyond pronunciation alone.

detailed-annotations.html
<ruby><rt>yama (mountain)</rt>
</ruby>
Try It Yourself

🔄 Alternatives

When rtc is not applicable, use rt directly inside ruby and style it with CSS classes.

Using Only rt

While not as semantically complex as the old rtc wrapper, rt alone provides the annotation markup browsers expect today.

rt-only-alternative.html
<style>
  .pronunciation { font-size: smaller; color: gray; }
</style>
<ruby><rt class="pronunciation">kan</rt>
</ruby>
Try It Yourself

♿ Accessibility

  • Use ruby and rt — Modern semantic markup aids assistive technology.
  • Skip obsolete rtc — Simpler structure is easier to parse and maintain.
  • Keep annotations concise — Short rt text improves readability.
  • Set lang attribute — Declare Japanese, Chinese, or Korean for correct rendering.

🧠 How Ruby Annotations Work Today

1

Author adds base + rt

Place each rt after its base character inside ruby.

Markup
2

Browser renders annotation

rt appears above the base text; no rtc wrapper needed.

Render
3

CSS styles rt or ruby

Apply classes on rt instead of obsolete rtc containers.

Style
=

Use ruby and rt today

Modern HTML gives supported, cross-browser ruby annotation markup without rtc.

Browser Support

The <rtc> tag is an obsolete feature and is not recommended for modern web development. Use ruby and rt instead.

Obsolete · HTML5

Not recommended for modern use

Do not rely on <rtc>. Place rt directly inside ruby for annotations.

0% Modern support
Google Chrome Not recommended
Not supported
Mozilla Firefox Not recommended
Not supported
Apple Safari Not recommended
Not supported
Microsoft Edge Not recommended
Not supported
Internet Explorer Not recommended · EOL
Not supported
Opera Not recommended
Not supported
<rtc> tag 0% — obsolete

Bottom line: Do not use <rtc>. Choose ruby, rt, and rp for annotations.

Conclusion

The HTML <rtc> tag played a role in structuring ruby annotations historically, but it is now an obsolete feature in the HTML specification.

By using ruby and rt directly, you can ensure your content is semantically meaningful, visually clear, and accessible for users requiring pronunciation guides or additional text annotations.

💡 Best Practices

✅ Do

  • Use rt inside ruby elements
  • Keep annotations concise for readability
  • Style rt or ruby with CSS
  • Add rp for fallback parentheses

❌ Don’t

  • Wrap rt in obsolete rtc
  • Use deprecated rb with rtc
  • Copy legacy ruby tutorials blindly
  • Assume rtc is still valid HTML5

Key Takeaways

Knowledge Unlocked

Six truths every developer should know about <rtc>

Bookmark these so you never use obsolete ruby containers.

6
Core concepts
📝 02

rt Direct

No rtc wrap.

Replacement
💬 03

Pronunciation

Reading hints.

Use case
📖 04

Meaning

Extra context.

Use case
🎨 05

CSS on rt

Not on rtc.

Style
📈 06

0% Support

Skip rtc today.

Compatibility

❓ Frequently Asked Questions

Historically it wrapped rt annotations inside ruby. It is obsolete and should not be used today.
No. It is listed as an obsolete feature. Use rt directly inside ruby.
Use ruby with rt and optional rp. Style rt with CSS classes.
Apply class, style, and lang on ruby or rt instead.
No. It is obsolete and not recommended for modern web development.

Use Modern Ruby Markup

Skip obsolete <rtc>. Practice ruby and rt in the Try It editor.

Try modern ruby markup →

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