HTML5ANDCSS3 logoHTML5ANDCSS3Tools and Tutorials
  • Insights
  • Verify Certificate
HTML5ANDCSS3 logoHTML5ANDCSS3Tools and Tutorials
HTML5ANDCSS3 logoHTML5ANDCSS3Tools and Tutorials

HTML5andCSS3.org helps developers learn modern frontend skills with practical tutorials, production-ready snippets, and fast web tools built for everyday coding.

Quick Links

  • About Us
  • Contact Us
  • Privacy Policy
  • Copyright
  • Disclaimer

Top Tools

  • Try It Editor
  • JSON Formatter
  • CSS Minifier
  • HTML Minifier
  • Base64 Encoder / Decoder

Contact

  • business@html5andcss3.org
Newsletter

Learn at your own pace, practice with useful tools, and build websites you're proud of.

© 2011-2026 html5andcss3.org. All rights reserved.

How to Use

HTML Tags

HTML Tags

HTML <!DOCTYPE> TagHTML <html> TagHTML <head> TagHTML <title> TagHTML <body> TagHTML <base> TagHTML <link> TagHTML <meta> TagHTML <style> TagHTML <script> TagHTML <h1 to h6> TagHTML <hgroup> TagHTML <p> TagHTML <br> TagHTML <wbr> TagHTML <hr> TagHTML <pre> TagHTML <b> TagHTML <strong> TagHTML <i> TagHTML <em> TagHTML <mark> TagHTML <small> TagHTML <del> TagHTML <ins> TagHTML <sub> TagHTML <sup> TagHTML <u> TagHTML <blockquote> TagHTML <q> TagHTML <cite> TagHTML <abbr> TagHTML <address> TagHTML <bdo> TagHTML <bdi> TagHTML <a> TagHTML <nav> TagHTML <ul> TagsHTML <menu> TagHTML <ol> TagHTML <dl> TagHTML <img> TagHTML <figure> TagHTML <figcaption> TagHTML <audio> TagHTML <video> TagHTML <source> TagHTML <track> TagHTML <embed> TagHTML <object> TagHTML <param> Tag (Obsolete)HTML <picture> TagHTML <canvas> TagHTML <map> TagHTML <area> TagHTML <table> TagHTML <caption> TagHTML <thead> TagHTML <tbody> TagHTML <tfoot> TagHTML <tr> TagHTML <th> TagHTML <td> TagHTML <col> TagHTML <colgroup> TagHTML <form> TagHTML <input> TagHTML <textarea> TagHTML <button> TagHTML <select> TagHTML <selectedcontent> TagHTML <option> TagHTML <optgroup> TagHTML <label> TagHTML <fieldset> TagHTML <legend> TagHTML <datalist> TagHTML <output> TagHTML <meter> TagHTML <progress> TagHTML <header> TagHTML <footer> TagHTML <article> TagHTML <section> TagHTML <aside> TagHTML <main> TagHTML <search> TagHTML <details> TagHTML <summary> TagHTML <dialog> TagHTML <time> TagHTML <noscript> TagHTML <slot> TagsHTML <template> TagHTML <shadow> Tag (Obsolete)HTML <center> TagHTML <font> TagHTML <big> TagHTML <strike> TagHTML <tt> TagHTML <acronym> TagHTML <applet> TagHTML <frame> TagHTML <frameset> TagHTML <noframes> TagHTML <marquee> TagHTML <blink> TagHTML <s> TagHTML <var> TagHTML <kbd> TagHTML <samp> TagHTML <code> TagHTML <dfn> TagHTML <div> TagHTML <span> TagHTML Comment TagHTML <data> TagHTML Ruby Annotations: <ruby>, <rt> and <rp>HTML <svg> TagHTML <basefont> Tag
  1. Home
  2. /
  3. Tutorials
  4. /
  5. HTML Tutorial
  6. /
  7. HTML Ruby Annotations: <ruby>, <rt> and <rp>

HTML Tags

HTML Ruby Annotations: <ruby>, <rt> and <rp>

Learn how the HTML <ruby>, <rt>, and <rp> elements create pronunciation and explanatory annotations with fallback punctuation.

HTML ruby annotations display short pronunciation or explanatory text alongside base text, especially in East Asian typography.
The <ruby> element wraps the annotation, <rt> provides the annotation text, and <rp> provides fallback punctuation for browsers that cannot display ruby annotations.

Syntax

html

<ruby>
  漢
  <rp>(</rp>
  <rt>kan</rt>
  <rp>)</rp>
</ruby>

Attributes

AttributeDescription
classSpecifies one or more class names on <ruby>, <rt>, or <rp>.
idDefines a unique identifier for any of the three elements.
styleAdds inline CSS styles to the selected element.
titleProvides additional information as a tooltip when hovered.

Example

html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Ruby Annotation Example</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      padding: 30px;
    }

    ruby {
      font-size: 2rem;
    }

    rt {
      color: #007a96;
      font-size: 0.55em;
    }
  </style>
</head>
<body>
  <h1>Japanese Ruby Annotation</h1>

  <p>
    <ruby>
      漢<rp>(</rp><rt>kan</rt><rp>)</rp>
      字<rp>(</rp><rt>ji</rt><rp>)</rp>
    </ruby>
    means "Chinese characters."
  </p>
</body>
</html>

Browser Support

Chrome
Edge
Firefox
Safari
Opera
IE9+
YesYesYesYesYesYes

The <ruby>, <rt>, and <rp> elements are supported by all major modern browsers.

Notes

  • Place the base text and its annotation inside <ruby>.
  • Use <rt> as a child of <ruby> to provide pronunciation, transliteration, translation, or another short annotation.
  • Place <rp> immediately before or after <rt> to provide fallback punctuation, usually parentheses.
  • Browsers with ruby support hide the <rp> text and position the <rt> annotation beside the base text.
  • A single <ruby> element can contain more than one base-text and annotation pair.
  • The <ruby> closing tag is required. Although some <rt> and <rp> end tags may be omitted in limited cases, writing them explicitly keeps the markup clear.

Conclusion

The <ruby>, <rt>, and <rp> elements work together to create readable ruby annotations with a text fallback.
Use them for short pronunciation or explanatory annotations that belong directly with the base text.

PreviousHTML <data> TagNextHTML <svg> Tag