カラフルな虹テキストジェネレーター
このHTMLおよびCSSジェネレーターで、カラフルな虹テキストをオンラインで作成できます。テキストを入力または貼り付け、カラーパレットを選ぶと、文字ごとの色、単語ごとの色、 グラデーション見出し、アニメーション効果、SNS投稿用PNGまたはSVGのすぐ使えるコードが得られます。
このページには、オンラインジェネレーター、PNGおよびSVGのエクスポートオプション、手順の説明、 CSSおよびJavaScriptのコード例、手法の比較表、利用例、よくある質問があります。
虹色テキストの例をいくつか見てみましょう。虹テキストのデモ
目次
虹テキストとは?
虹テキストとは、各文字、単語、または行に異なる色や滑らかなグラデーションを適用したテキストです。画像を使わずに、 見出し、バナー、SNS投稿、装飾ラベルを目立たせる人気の方法です。
虹テキストを作る主な方法は3つあります。
- CSSグラデーション + background-clip - 線形グラデーションをテキストの形にクリップした1つの要素。
- インライン色付きHTML span - 各文字または単語を独自の色を持つ
<span>で囲む方法。 - JavaScriptによる色の割り当て - テキストを分割し、HSL色を動的に適用するスクリプト。
このページのジェネレーターは3つの出力スタイルすべてに対応しています。プロジェクトに最適な方法を選ぶには、下の 手法の比較をご覧ください。
オンライン虹テキストジェネレーター
下のインタラクティブツールで虹色のテキストを作成します。ジェネレーターは、ウェブサイトに直接コピーできるHTMLとCSSを出力し、ウェブフォントを選択した場合はGoogle Fontsのリンクも生成します。
ツールにはライブプレビュー、Google Fontsリンク(該当する場合)、 個別のHTMLおよびCSSコードブロックが表示されます。コピー、実行、編集、ダウンロードボタンでサイトにコードを適用できます。
ここにテキストを入力
カラーグループを選択
色の明るさ
このカラフルなテキストはGoogle ドキュメントやGmailの作成画面にコピーして貼り付けできます。ただし、FacebookやInstagramでは直接共有できません。画像に変換する必要があり、下のオプションで画像形式に変換できます。
虹テキストを画像に変換
この虹テキストをPNG画像形式に変換するか、SVGとして書き出せます。変換した画像をFacebookの投稿やInstagramのストーリーに簡単に共有できます。
生成されたHTMLとCSSコードです。コピーしてウェブサイトに貼り付けてください。
<div class="rainbow-text">
<span class="block-line"><span><span style="color:#ff0000">H</span><span style="color:#ff5500">T</span><span style="color:#ffaa00">M</span><span style="color:#ffff00">L </span></span><span><span style="color:#aaff00">C</span><span style="color:#55ff00">S</span><span style="color:#00ff00">S </span></span><span><span style="color:#00ff55">虹</span><span style="color:#00ffaa">テ</span><span style="color:#00ffff">キ</span><span style="color:#00aaff">ス</span><span style="color:#0055ff">ト</span></span></span>
</div> .rainbow-text {
font-family: Arial Black, Gadget, sans-serif;
font-weight: bold;
text-align: center;
font-size: 50px;
text-shadow: 1px 1px 0px #A3A3A3;
}
.rainbow-text .block-line > span {
display: inline-block;
} 使い方
上のジェネレーターで虹テキストを作成する手順です。
- ジェネレーターのテキストエリアにテキストを入力します。
- カラーパレットを選びます(虹テーマ、VIBGYOR 七色彩虹、ランダムミックス、クリスマステーマカラー、カスタムカラースキーム)。
- 着色方法を選びます: 文字分割、単語分割、またはグラデーション(文字・単語・行ごと)。
- 彩度と明るさを調整して、好みの見た目にします。
- 必要に応じてフォント、サイズ、影、縁取り、背景を設定します。
- 結果をプレビューし、別の配色が欲しい場合は色を更新します。
- HTMLとCSSコードをコピーするか、SNS用にPNG画像またはSVGファイルとしてエクスポートします。
- コードをウェブサイトやドキュメントに貼り付けるか、画像を投稿にアップロードします。
機能
- 文字分割および単語分割による着色
- 文字、単語、行ごとの虹グラデーション
- 複数のプリセットパレットとカスタムカラー
- 多言語文字分割(英語、マラヤーラム語、ヒンディー語、中国語、ベンガル語、アラビア語)
- Google Fonts連携
- テキストの影と縁取り(アウトライン)のコントロール
- SNS向けプリセットサイズでのPNGエクスポート
- テキストから画像への変換後にSVG形式で出力
- コピー&ペースト可能なHTMLおよびCSSコード出力
- 更新コントロール付きライブプレビュー
- インストールや登録は不要
CSS・HTML・JavaScriptの手法比較
用途に合った手法を選んでください。
| 手法 | 最適な用途 | メリット | デメリット |
|---|---|---|---|
| CSSグラデーション + background-clip | 見出し、静的なヘッダー | 軽量、要素1つ、滑らかなグラデーション | 真の文字ごとの色ではない。文字単位の制御は限定的 |
| HTML span(ツール出力) | あらゆるテキスト、多色文字 | どこでも動作、文字ごとの色を完全制御 | 出力にHTMLタグが増える |
| CSSカラーアニメーション | 目を引く見出し | 純粋なCSS、追加HTML不要 | 一度に1色のみ(色相が循環) |
| JavaScript RainbowText | 動的コンテンツ、CMSフィールド | 実行時に任意の要素のテキストを自動着色 | JavaScriptが必要。コンテンツ変更時は再実行が必要 |
CSS虹グラデーションテキスト
CSSの線形グラデーションをテキストの塗りつぶしとして使います。グラデーションは background-clip: textと-webkit-text-fill-color: transparentでテキストの形にクリップされます。
プレビュー:
<div class="css-rainbow-text">CSS虹テキスト</div> .css-rainbow-text {
background: linear-gradient(90deg, #f00, #ff2b00, #f50, #ff8000, #fa0, #ffd500, #ff0, #d4ff00, #af0, #80ff00, #5f0, #2bff00, #0f0, #00ff2b, #0f5, #00ff80, #0fa, #00ffd5, #0ff, #00d4ff, #0af, #007fff, #05f, #002bff, #00f, #2a00ff, #50f, #7f00ff, #a0f, #d400ff, #f0f, #ff00d4, #f0a, #ff0080, #f05, #ff002b, #f00);
-webkit-text-fill-color: transparent;
-webkit-background-clip: text;
background-clip: text;
font-size: 50px;
font-weight: bold;
display: inline-block;
font-family: Arial, Helvetica, sans-serif;
} CSSアニメーション虹グラデーション
CSSキーフレームでbackground-positionを移動させてグラデーションをアニメーションします。 色がテキスト上を左右に滑らかに流れます。
プレビュー:
<div class="animated-rainbow">アニメーション虹グラデーション</div> .animated-rainbow {
font-size: 42px;
font-family: Arial Black, Gadget, sans-serif;
background: linear-gradient(to left, #f00, #ff2b00, #f50, #ff8000, #fa0, #ffd500, #ff0, #d4ff00, #af0, #80ff00, #5f0, #2bff00, #0f0, #00ff2a, #0f5, #00ff80, #0fa, #00ffd5, #0ff, #00d5ff, #0af, #0080ff, #05f, #002aff, #00f, #2b00ff, #50f, #8000ff, #a0f, #d400ff, #f0f, #ff00d4, #f0a, #ff0080, #f05, #ff002b, #f00);
background-size: 500px 100%;
animation: rainbow-move-left-right 5s linear infinite alternate;
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
display: inline-block;
}
@keyframes rainbow-move-left-right {
0% { background-position: 0 0; }
100% { background-position: -500px 0; }
} CSSアニメーション虹カラー
グラデーションの代わりに、colorプロパティを虹の色相でアニメーションします。 テキスト全体が赤、オレンジ、黄、緑、青、インディゴ、紫を順に通過します。
プレビュー:
<div class="animated-rainbow-2">アニメーション虹カラー</div> .animated-rainbow-2 {
font-size: 42px;
font-family: Arial Black, Gadget, sans-serif;
animation: rainbow-color-change 3s linear infinite alternate;
}
@keyframes rainbow-color-change {
0%, 100% { color: #ff0000 }
14% { color: #ff8b00 }
28% { color: #e8ff00 }
42% { color: #5dff00 }
56% { color: #00b9ff }
70% { color: #5d00ff }
84% { color: #e800ff }
} JavaScript虹テキスト
テキストコンテンツが実行時に変わり、HTML spanを手動で書かずに各文字を自動着色したい場合にJavaScriptを使います。下のRainbowTextクラスは 要素のテキストを分割し、各文字を色付き<span>で囲みます。
プレビュー:
<div id="js-rainbow-1">JavaScript虹テキスト</div>
<div id="js-rainbow-2">低明度テキスト</div> #js-rainbow-1, #js-rainbow-2 {
font-family: Arial, Helvetica, sans-serif;
font-weight: bold;
font-size: 50px;
} class RainbowText {
constructor(elements, saturation = 100, lightness = 50) {
this.saturation = this.clamp(saturation, 20, 100);
this.lightness = this.clamp(lightness, 20, 99);
// script - https://www.html-code-generator.com/ja/html/rainbow-text-generator
const elementArray = elements instanceof NodeList ? Array.from(elements) : [elements];
elementArray.forEach(element => this.applyColor(element));
}
clamp(value, min, max) {
return Math.min(Math.max(value, min), max);
}
applyColor(element) {
const text = element.textContent;
if (!text) return;
const chars = [...text];
const hueStep = 360 / Math.max(chars.length - 1, 1);
const html = chars.map((char, index) => {
const hue = Math.round(hueStep * index);
const color = `hsl(${hue}, ${this.saturation}%, ${this.lightness}%)`;
const safe = char
.replace(/&/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>');
return `<span style="color:${color}">${safe}</span>`;
}).join('');
element.innerHTML = html;
}
} // 使用例:
// デフォルトスタイル
new RainbowText(document.getElementById("js-rainbow-1"));
// 色の明るさを調整: saturation = 40, lightness = 50
new RainbowText(document.getElementById("js-rainbow-2"), 40, 50); 利用例
- ウェブサイトの見出しとヒーローバナー
- SNS投稿とストーリー(PNGまたはSVGエクスポート)
- メール署名とニュースレター見出し
- Discordやチャットのカラフルな表示名(画像として)
- 祝日やイベントメッセージ(クリスマステーマ配色)
- 教育活動と子ども向けアルファベットの色付け
- ランディングページのロゴテキストと装飾ラベル
よくある質問
各文字を別の色にするには?
このページの虹テキストジェネレーターを使います。テキストを入力し、カラーパレットを選び、 着色方法で文字分割を選択します。ツールは各文字を独自の色を持つspanで囲み、 コピー可能なHTMLとCSSを出力します。
FacebookやInstagramで虹テキストを使えますか?
FacebookとInstagramは投稿に貼り付けたHTMLカラーテキストに対応していません。このページの 虹テキストを画像に変換する機能でテキストをPNG画像としてエクスポートし、 その画像を投稿やストーリーにアップロードしてください。
Google ドキュメントで虹テキストは使えますか?
はい。生成されたHTML虹テキストをコピーしてGoogle ドキュメントやGmailの作成画面に貼り付けられます。 ツールの出力から貼り付けると、文字ごとの色が保持されます。
グラデーションと文字分割の違いは何ですか?
文字分割はHTML spanを使って各文字または単語に単色を割り当てます。 グラデーション着色はCSS linear-gradientとbackground-clip textで文字または単語間に滑らかな色の遷移を適用します。 グラデーションは流れるような虹の効果を、文字分割は文字ごとに異なる色を与えます。
虹テキストにJavaScriptは必要ですか?
いいえ。静的な虹テキストはHTML spanとCSSだけで作成できます。JavaScriptが必要なのは、 CMSやユーザー入力など、実行時に変わるテキストを動的に着色したい場合だけです。
CSSグラデーションテキストに対応しているブラウザは?
background-clip: textを使ったCSSグラデーションテキストは、Chrome、Firefox、Edge、Safariを含む すべてのモダンブラウザで動作します。最大限の互換性のために-webkit-background-clipと -webkit-text-fill-colorを使用してください。
カスタムカラーを使えますか?
はい。虹テキストジェネレーターでカラーグループとしてカスタムカラーを選択し、 独自のhex値やカラー値を追加できます。彩度と明るさも調整してパレットを微調整できます。
虹テキストを画像としてエクスポートするには?
ジェネレーターで虹テキストを作成したら、虹テキストを画像に変換するセクションを開きます。 Instagram Stories、Instagram Post、Facebook Postなどのプリセットサイズを選び、 位置と余白を調整してから、更新して画像をダウンロードをクリックしてPNGファイルを保存するか、SVG形式の出力をダウンロードします。
アラビア語、ヒンディー語などの文字にも対応していますか?
はい。ジェネレーターは英語、マラヤーラム語、ヒンディー語、中国語、ベンガル語、アラビア語の 文字分割に対応しています。色を生成する前に文字分割パネルで適切な言語オプションを選択してください。
CSSだけで虹テキストをアニメーションできますか?
はい。動くlinear-gradient背景または虹の色相を循環させるcolorプロパティのアニメーションで、 純粋なCSSで虹テキストをアニメーションできます。両方の手法はこのページのコード例セクションで紹介しています。