👀 Live Preview
Modern ruby with direct rt (replaces rtc wrapper):
漢字

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.
Historical role.
Not for new pages.
Modern pattern.
Reading hints.
Style alternative.
Skip rtc today.
<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.
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.
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.
rb in simplified ruby models.rtc may cause inconsistent parsing across browsers.ruby, rt, and rp in all new documents.Historical syntax placed rtc inside ruby alongside rb and rt:
<ruby>
<rb>漢</rb>
<rtc>
<rt>kan</rt>
</rtc>
<rb>字</rb>
<rtc>
<rt>ji</rt>
</rtc>
</ruby><ruby>
漢<rt>kan</rt>
字<rt>ji</rt>
</ruby>rt in rtc in new documents.rb for base text.rt annotations directly inside ruby.rp for fallback parentheses when needed.| Topic | Details | Modern choice |
|---|---|---|
| Status | Obsolete feature | Do not use |
| Historical role | Wrapped rt | rt in ruby |
| Styling | class on rtc | class on rt/ruby |
| Pronunciation | Inside rtc | Direct rt |
| Fallback | Non-ruby browsers | rp |
| Browser support | 0% modern | Use alternatives |
<rtc> vs <rt>| Element | Status | Use today? |
|---|---|---|
<rtc> | Obsolete; annotation wrapper | No |
<rt> | Valid HTML5; ruby text | Yes |
<ruby> | Valid HTML5; container | Yes |
<rp> | Valid HTML5; fallback | Yes |
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.
<rtc class="annotation" style="color: red;">
<rt>kan</rt>
</rtc>class On rt/rubyModern alternative: style annotations via rt or parent ruby.
class="pronunciation"style On rt/rubyUse CSS on rt instead of obsolete rtc wrappers.
style="font-size: smaller"lang GlobalSet language on the page or ruby element for correct typography.
lang="ja"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.
rt directly in ruby. Use the modern alternatives in the Examples Gallery below.Practice the modern replacements for obsolete rtc: direct rt in ruby with CSS styling.
Modern ruby with direct rt (replaces rtc wrapper):
漢字
The primary historical use of rtc was pronunciation guides for East Asian characters. Use rt directly instead.
<ruby>
漢<rt>kan</rt>
字<rt>ji</rt>
</ruby>rt can provide additional information or context beyond pronunciation alone.
<ruby>
山<rt>yama (mountain)</rt>
</ruby>When rtc is not applicable, use rt directly inside ruby and style it with CSS classes.
While not as semantically complex as the old rtc wrapper, rt alone provides the annotation markup browsers expect today.
<style>
.pronunciation { font-size: smaller; color: gray; }
</style>
<ruby>
漢<rt class="pronunciation">kan</rt>
</ruby>rt text improves readability.Place each rt after its base character inside ruby.
rt appears above the base text; no rtc wrapper needed.
Apply classes on rt instead of obsolete rtc containers.
Modern HTML gives supported, cross-browser ruby annotation markup without rtc.
The <rtc> tag is an obsolete feature and is not recommended for modern web development. Use ruby and rt instead.
Do not rely on <rtc>. Place rt directly inside ruby for annotations.
Bottom line: Do not use <rtc>. Choose ruby, rt, and rp for annotations.
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.
rt inside ruby elementsrt or ruby with CSSrp for fallback parenthesesrt in obsolete rtcrb with rtcrtc is still valid HTML5<rtc>Bookmark these so you never use obsolete ruby containers.
Not for new pages.
StatusNo rtc wrap.
ReplacementReading hints.
Use caseExtra context.
Use caseNot on rtc.
StyleSkip rtc today.
Compatibilityrt annotations inside ruby. It is obsolete and should not be used today.rt directly inside ruby.ruby with rt and optional rp. Style rt with CSS classes.class, style, and lang on ruby or rt instead.Skip obsolete <rtc>. Practice ruby and rt in the Try It editor.
6 people found this page helpful