MCPで接続 →

計算を入力してください

公式

広告

結果

HSLカラー
hsl(9.13, 100%, 63.92%)
色相・彩度・輝度
色相(H) 9.13°
彩度(S) 100%
輝度(L) 63.92%

RGB→HSL変換ツールとは?

このツールは、RGBモデル(赤・緑・青、各0〜255)で表した色を、HSLモデル(色相・彩度・輝度)に変換します。HSLは「色味(色相)」と「鮮やかさ(彩度)」「明るさ(輝度)」を分けて扱えるため、デザイナーにとって直感的に色を調整しやすい形式です。この変換は世界共通の数式に基づいており、特定のデバイスや国に依存しません。

重なり合うRGBの円をHSL色円柱に変換する図
RGB値は、色相・彩度・輝度から成るHSLモデルに変換されます。

使い方

変換したい色の赤・緑・青の値を、それぞれ0〜255の範囲で入力します。「計算」を押すと、対応するHSLの3つの値が表示され、CSSに hsl(H, S%, L%) としてそのまま貼り付けられます。

計算式の解説

まず各チャンネルを255で割って0〜1の範囲に正規化します。3つの値のうち最大値をmax、最小値をminとし、\(\Delta = \max - \min\) と定義します。輝度は \(L = (\max + \min)/2\) で求めます。彩度は \(S = \Delta /(1 - \lvert 2L - 1 \rvert)\) で、\(\Delta = 0\) のとき(グレーの場合)は0とします。色相は最大値となったチャンネルに応じて算出し、60°を掛けたうえで0〜360°の範囲に収めます。

$$L = \frac{C_{\max} + C_{\min}}{2}, \quad S = \frac{C_{\max} - C_{\min}}{1 - \lvert 2L - 1 \rvert}$$

$$H = 60^{\circ} \times \begin{cases} \dfrac{G^{\prime} - B^{\prime}}{\Delta} \bmod 6 & C_{\max} = R^{\prime} \\[0.6em] \dfrac{B^{\prime} - R^{\prime}}{\Delta} + 2 & C_{\max} = G^{\prime} \\[0.6em] \dfrac{R^{\prime} - G^{\prime}}{\Delta} + 4 & C_{\max} = B^{\prime} \end{cases}$$

色相の角度、彩度の半径、輝度の高さを示すHSL円柱
色相は角度、彩度は軸からの距離、輝度は垂直方向の位置です。

計算例

トマトレッド RGB(255, 99, 71) を例にとります。正規化すると \(R=1\)、\(G=0.388\)、\(B=0.278\)。\(\max=1\)、\(\min=0.278\)、\(\Delta=0.722\) です。\(L = (1 + 0.278)/2 = 0.639 \to 63.9\%\)。\(S = 0.722 /(1 - \lvert 2\times 0.639 - 1 \rvert) = 0.722 / 0.722 = 1 \to 100\%\)。max が R なので、\(H = 60 \times \left((0.388 - 0.278)/0.722\right) = 60 \times 0.1525 \approx 9.13^{\circ}\)。結果は hsl(9.13, 100%, 63.92%) となります。

よくある質問

グレーの彩度が0になるのはなぜ? 3つのチャンネルがすべて同じ値のとき \(\Delta = 0\) となり、色味の情報が存在しません。そのため彩度は定義できず、慣例として0に設定されます。

H・S・Lは四捨五入されますか? 表示は小数第2位までに丸めていますが、内部計算では完全な精度の値を保持しています。

逆変換はできますか? はい。HSL→RGBはこの逆の手順で、色相のセクターとクロマを使って計算します。

最終更新: