記事内にはプロモーションが含まれています

【HTML】ルビ(ふりがな)を振るrubyタグの使い方

【HTML】ルビ(ふりがな)を振るrubyタグの使い方 HTML

Webサイトで難しい漢字や専門用語を使う際、読み仮名(ふりがな)を振ることでユーザーの利便性は大きく向上します。

HTMLには、このルビを振るための専用タグである <ruby> が用意されており、特別なプラグインや画像を導入しなくても、簡単にテキストの上にふりがなを表示させることができます。

この記事では、HTMLを使った基本的なルビの振り方から、ブラウザ未対応時の対策、さらにCSSを使ってルビの文字サイズや表示位置(上下)をカスタマイズする方法まで、サンプルコード付きで詳しく解説します。

【本記事の信頼性】
プロフィール
執筆者:マヒロ
  • 執筆者は元エンジニア
  • SES⇒大手の社内SE⇒独立
  • 現在はプログラミングスクールを運営
  • モットーは「利他の精神」
💻 本記事の検証環境(2026年2月確認)
  • OS:Windows 11 / macOS Sequoia
  • IDE:Visual Studio / VS Code / IntelliJ IDEA
  • その他:Chrome DevTools / 各言語最新安定版

※本メディアでは、上記環境にてコードの動作と情報の正確性を検証済みです。

HTMLでルビを振る基本:rubyタグとrtタグ

ルビを表示するためには、親要素となる <ruby> タグと、ふりがな部分を指定する <rt> タグの2つを組み合わせて使用します。

まずは最もシンプルな実装方法を見てみましょう。

基本的な書き方

対象となる漢字とふりがなをセットで記述します。

<p>
    昨日は<ruby>焼肉<rt>やきにく</rt></ruby>を食べました。
</p>

実行結果

昨日は焼肉やきにくを食べました。

コード解説

  • <ruby>: ルビを振りたい「漢字」と「ふりがな」の全体を囲むタグです。ここがルビの範囲となります。
  • <rt> (Ruby Text): 実際に表示させる「ふりがな(ルビテキスト)」を囲むタグです。
  • ブラウザ上では、<rt> で囲んだ文字が、直前の文字の上に小さく表示されます。

未対応ブラウザへの配慮:rpタグで括弧を表示する

現在の主要なブラウザ(Chrome, Safari, Edge, Firefoxなど)はルビ表示に対応していますが、音声読み上げソフトや非常に古い環境など、ルビが正しく表示されないケースもゼロではありません。

そうした場合に備えて、<rp> (Ruby Parentheses) タグを使って、ルビを括弧 ( ) で囲んで表示させる方法があります。

rpタグを使った書き方

ルビに対応しているブラウザでは <rp> の中身は無視(非表示)され、非対応のブラウザでのみ表示されます。

<ruby>
    漢<rp>(</rp><rt>かん</rt><rp>)</rp>
    字<rp>(</rp><rt>じ</rt><rp>)</rp>
</ruby>

対応ブラウザでの表示: かん
非対応ブラウザでの表示イメージ: 漢(かん)字(じ)

コード解説

  • <rp>: ルビ非対応環境でのみ表示される「括弧」を指定するタグです。
  • <rt> の前後に配置することで、ルビ機能が効かない場合に「漢字(かんじ)」のようにテキストとして自然に読めるようにします。
  • 現在のWeb制作では必須ではありませんが、アクセシビリティを高めるための丁寧な実装と言えます。

CSSでルビのデザイン(サイズ・位置)を調整する

デフォルトのルビは文字サイズが小さすぎたり、位置が微妙だったりすることがあります。
これらはCSSを使って自由にカスタマイズ可能です。

ルビの文字サイズを変更する

ルビ部分(rt タグ)に対して font-size を指定することで、大きさを調整できます。
デフォルトは親文字の約50%のサイズです。

<p class="large-ruby">
    <ruby>紫陽花<rt>あじさい</rt></ruby>
</p>

<style>
.large-ruby rt {
    font-size: 0.8em; /* 親文字の80%のサイズに設定 */
}
</style>

実行結果

紫陽花あじさい

コード解説

  • rt 要素に対してCSSを適用します。
  • 0.8em と指定することで、本文の文字サイズの80%の大きさになります。高齢者向けサイトなどで読みやすくしたい場合に有効です。

ルビを文字の下側に表示する(ruby-position)

通常は文字の「上」に表示されますが、デザインによっては「下」に表示したい場合もあります。
CSSの ruby-position プロパティを使えば、上下の配置を制御できます。

<p>
    <ruby class="under-ruby">
        English<rt>イングリッシュ</rt>
    </ruby>
</p>

<style>
.under-ruby {
    ruby-position: under; /* ルビを下側に表示 */
}
</style>

実行結果

Englishイングリッシュ

コード解説

  • ruby-position: under;: ルビをベースラインの下(横書きの場合は文字の下)に配置します。
  • デフォルト値は over(上)です。
  • 英語の教材や、翻訳を表示する際などに便利なテクニックです。

一文字ずつルビを振る「モノルビ」のテクニック

熟語全体にまとめてルビを振る「グループルビ」ではなく、漢字一文字ずつに対応させて振る「モノルビ」にしたい場合は、書き方を工夫します。

1文字ごとにrubyタグで囲む必要はない

<ruby> タグの中に、「漢字」と「ふりがな(rt)」のペアを順番に並べるだけで、ブラウザが自動的に対応関係を判断して表示してくれます。

<!-- 良い例:1つのrubyタグ内で完結させる -->
<ruby>
    東<rt>とう</rt>
    京<rt>きょう</rt>
    都<rt>と</rt>
</ruby>

実行結果

とうきょう

コード解説

  • 「漢字A」→「ふりがなA」→「漢字B」→「ふりがなB」の順に記述します。
  • こうすることで、ブラウザは「東」の上に「とう」、「京」の上に「きょう」を配置してくれます。
  • わざわざ <ruby>東<rt>とう</rt></ruby><ruby>京... とタグを分ける必要はありません。

ルビを使う際の注意点と行間について

ルビを使用すると、その行だけ文字の高さが高くなるため、「行間(line-height)」が不揃いになるという問題が発生しがちです。

これを防ぐためには、あらかじめ文章全体の行間を広めに設定しておくことが推奨されます。

p {
    line-height: 1.8; /* ルビが入っても崩れにくい広めの行間 */
}

一般的に 1.5 程度ではルビが上の行に重なったり詰まって見えたりするため、ルビを多用するページでは 1.8 〜 2.0 程度確保しておくと美しく表示されます。

HTML/CSSのスキルを活かして年収を上げる方法

以上、HTMLでルビ(ふりがな)を振るrubyタグの使い方について解説してきました。

なお、HTMLやCSSのスキルがある場合には、「副業で稼いで年収を上げる」といったことが可能です。
HTML/CSSのスキルを持つ人は多いものの、その分案件数も多く、副業エージェントやフリーランスエージェントを利用することで予想外の高単価案件が見つかることもあります。
エージェントサービスは、登録も利用もすべて完全無料なので、どんな求人や案件があるのか気になる方は、気軽に利用してみるとよいでしょう。
エンジニアのキャリア・スキルアップ相談窓口
当ブログの読者に選ばれている、実績豊富な転職エージェントを厳選しました。
【転職】年収・環境を改善したい
年収アップにこだわりたい方 (平均アップ額138万円の実績)
未経験・経験者問わず幅広く探したい方
業界に精通した担当者に相談したい方
ゲーム業界への転職を志望する方
エンジニア未経験からキャリアを築く方
【独立】フリーランスとして稼ぎたい
国内最大級のフリーランス案件数から比較したい方
週1〜3日など柔軟な働き方を希望する方
【学習】スキルに不安のある方向け(格安スクール「デイトラ」)