👀 Live Preview
Modern ruby annotation (replaces rb for base text):
漢

The <rb> tag once marked the base text in ruby annotations for East Asian typography. This guide explains its historical role, deprecated status, and the modern ruby, rt, and rp elements beginners should use instead.
Historical role.
Not in HTML5.
Modern wrapper.
Pronunciation hint.
Parentheses text.
Skip rb today.
<rb> Tag?The <rb> tag, short for “ruby base,” was used with the <ruby> element to denote the base text component of a ruby annotation. Ruby annotations add pronunciation or translation hints above or beside characters — common in Japanese, Chinese, and Korean typography.
The <rb> tag is deprecated and not supported for modern web development. Place base text directly inside <ruby> instead.
Learn rb only to understand legacy markup. For ruby annotations today, use ruby with rt and optional rp fallback.
The <rb> tag is deprecated in HTML5 and is not supported for use in modern web development practices. Instead, the <ruby> element is recommended for defining ruby annotations, with the rb functionality implicitly applied to the base text placed directly inside ruby.
rb may cause inconsistent parsing across browsers.ruby, rt, and rp in all new projects.As <rb> is deprecated, understand its historical syntax within older HTML versions:
<rb>Your Ruby Base Text</rb><ruby>
漢 <rt>kan</rt>
</ruby>rb in new documents.rt annotations inside a single ruby element.rp before and after rt for fallback parentheses.lang on the page or element for correct typography.| Topic | Details | Modern choice |
|---|---|---|
| Status | Deprecated in HTML5 | Do not use |
| Attributes | None | N/A |
| Base text | Was wrapped in rb | Direct in ruby |
| Annotation | Pronunciation hint | rt |
| Fallback | Non-ruby browsers | rp |
| Browser support | 0% modern | Use alternatives |
<rb> vs <ruby>| Element | Status | Use today? |
|---|---|---|
<rb> | Deprecated; ruby base wrapper | No |
<ruby> | Valid HTML5; annotation container | Yes |
<rt> | Valid HTML5; ruby text | Yes |
<rp> | Valid HTML5; fallback parentheses | Yes |
Although deprecated, the <rb> tag does not support any specific attributes in HTML.
— NoneNo standard attributes exist for this deprecated element.
<rb>...</rb>The <rb> tag was primarily employed in conjunction with the <ruby> element to provide ruby annotations in East Asian typography. However, due to its deprecated status, its usage is not recommended in modern HTML development.
ruby with base text and rt annotations instead.Practice the modern replacements for deprecated rb: ruby, rt, and rp.
Modern ruby annotation (replaces rb for base text):
漢
Given the deprecated status of <rb>, explore these modern elements for ruby annotations in East Asian typography:
The ruby element wraps base text and annotations. Base characters go directly inside — no rb needed.
<ruby>漢<rt>kan</rt></ruby>The rt element holds the ruby text — the pronunciation or translation shown above the base characters.
<ruby>東京<rt>とうきょう</rt></ruby>The rp element provides fallback parentheses for browsers that do not support ruby layout.
<ruby>
漢 <rp>(</rp><rt>kan</rt><rp>)</rp>
</ruby>ruby.Place base characters and rt inside a ruby element.
The rt element holds pronunciation or translation text.
rp adds parentheses when ruby layout is unavailable.
Modern HTML gives supported, cross-browser ruby annotation markup.
Since the <rb> tag is deprecated, its browser support is limited and may vary. Avoid using this tag in favor of modern ruby, rt, and rp elements.
Do not rely on <rb>. Use ruby with base text and rt annotations instead.
Bottom line: Do not use <rb>. Choose ruby, rt, and rp for annotations.
While the <rb> tag served a specific purpose in historical HTML versions, its deprecated status in HTML5 necessitates a shift towards modern markup practices.
By understanding its historical context and embracing alternative elements like ruby, rt, and rp, web developers can ensure their markup adheres to current standards and maintains compatibility across browsers.
As rb is deprecated, the best practice is to avoid its usage altogether. Instead, utilize the ruby element for defining ruby annotations in compliance with modern HTML standards.
ruby with base text insidert for pronunciation hintsrp fallback parentheseslang for East Asian contentrbrt when annotation is needed<rb>Bookmark these so you never use deprecated ruby base markup.
Not in HTML5.
StatusText goes inside.
ReplacementAnnotation text.
ElementsParentheses.
CompatTypography use.
ContextSkip rb today.
Compatibilityruby instead of using rb.ruby with rt for annotations and rp for fallback parentheses.rb element has no standard attributes.Skip deprecated <rb>. Practice ruby, rt, and rp in the Try It editor.
6 people found this page helpful