RGB・HEX・HSLの違いとは?カラーコードの仕組みをわかりやすく解説

公開日:2026年9月14日

Webサイトを作っていると、 #ff0000、rgb(255, 0, 0)、hsl(0, 100%, 50%) といった色の指定を目にすることがあります。

これらはすべて色を表すための方法ですが、数字の意味や色の表現方法はそれぞれ異なります。 特にWebデザインでは、RGB・HEX・HSLの3つを理解しておくと、CSSで色を指定するときやカラーコードを扱うときに便利です。

この記事では、RGB・HEX・HSLがそれぞれ何を意味するのか、どのような違いがあるのか、同じ色を3つの方法で表すとどうなるのかを初心者向けにわかりやすく解説します。

この記事でわかること
  • RGBとは何か
  • HEXカラーコードとは何か
  • HSLとは何か
  • RGB・HEX・HSLの違い
  • 同じ色を3つの方法で表す方法
  • CSSでの色指定方法
  • RGB・HEX・HSLの使い分け
  • Webデザインでどの形式を使えばよいか

RGB・HEX・HSLとは?

RGB・HEX・HSLは、コンピューターやWebサイト上で色を指定するための代表的な方法です。 ただし、3つは同じ仕組みではありません。

RGBは、赤・緑・青の3色の強さを組み合わせて色を表現します。 HEXは、RGBの各値を16進数で表したカラーコードです。 HSLは、色相・彩度・明度という3つの要素を使って色を表します。

方式 意味 主な特徴
RGB Red・Green・Blue 光の三原色の強さで色を表す
HEX Hexadecimal RGBの値を16進数で表す
HSL Hue・Saturation・Lightness 色相・彩度・明度で色を表す

つまり、RGBとHEXは表現方法として非常に近い関係にありますが、HSLは色を捉える考え方が異なります。


RGBとは?

RGBは、Red(赤)・Green(緑)・Blue(青)の3つの光の強さを組み合わせて色を表現する方式です。 パソコンやスマートフォンのディスプレイは、基本的にこの3色の光を組み合わせてさまざまな色を表示しています。

RGBの数値

一般的なRGBカラーでは、それぞれの色を0~255の数値で指定します。

例えば、赤は次のように表します。

rgb(255, 0, 0)

これは、

という意味です。 赤の成分が最大で、緑と青が0なので、赤色になります。

RGBで白と黒を表す

RGBでは、3つの値をすべて最大にすると白になります。

rgb(255, 255, 255)

反対に、3つの値をすべて0にすると黒になります。

rgb(0, 0, 0)
RGBの例
rgb(255, 0, 0)
赤色を表しています。

RGBの特徴


HEXとは?

HEXは、Webデザインで非常によく使われる16進数によるカラーコードです。 「HEX」はHexadecimal(16進数)に由来します。

例えば、赤色は次のように表します。

#FF0000

このカラーコードは、RGBの

rgb(255, 0, 0)

と同じ赤色を表しています。

HEXカラーコードの仕組み

一般的な6桁のHEXカラーコードでは、 赤・緑・青の順番で、それぞれ2桁ずつ使用します。

#RRGGBB

例えば、

#FF6600

の場合、

という構成になっています。

なぜ16進数を使うの?

コンピューターでは色の情報を数値として扱います。 RGBの0~255という値は、16進数では00~FFで表すことができます。

10進数 16進数
0 00
51 33
102 66
153 99
204 CC
255 FF

そのため、RGBの値を2桁の16進数に変換すると、6桁のHEXカラーコードとして表現できます。

3桁のHEXカラーコード

HEXには6桁だけでなく、3桁で表現する方法もあります。

#F00

これは、

#FF0000

と同じ赤色を表します。 ただし、3桁で表現できるのは各桁を2回繰り返した6桁のHEXカラーコードに対応する場合です。


HSLとは?

HSLは、Hue(色相)・Saturation(彩度)・Lightness(明度)の3つの要素を使って色を表現する方式です。

RGBのように赤・緑・青の強さを直接指定するのではなく、 「何色なのか」 「どれくらい鮮やかなのか」 「どれくらい明るいのか」 という感覚に近い形で色を指定できます。

H = Hue(色相)

Hueは色相を表します。 色相は0~360度の角度で指定するのが一般的です。

色 代表的な色相
赤 0°
黄 60°
緑 120°
シアン 180°
青 240°
マゼンタ 300°
赤 360°

S = Saturation(彩度)

Saturationは彩度です。 色がどれくらい鮮やかであるかを表します。 一般的なHSLでは0~100%で指定します。

彩度が0%の場合は色味がなくなり、グレーになります。 100%に近づくほど、その色相の色が鮮やかになります。

L = Lightness(明度)

Lightnessは明度を表します。 一般的なHSLでは0~100%で指定します。

HSLの書き方

CSSでは、例えば次のように指定できます。

hsl(0, 100%, 50%)

これは赤色を表します。

HSLの例
hsl(0, 100%, 50%)
赤色を表しています。

HSLは、色相・彩度・明度を個別に調整できるため、Webデザインで色のバリエーションを作るときに便利です。


同じ色をRGB・HEX・HSLで表す

RGB・HEX・HSLは別々の色を表すものではありません。 同じ色を異なる方法で表現できます。

例えば、代表的な赤色は次のように表現できます。

方式 色の指定
RGB rgb(255, 0, 0)
HEX #FF0000
HSL hsl(0, 100%, 50%)

この3つは表記方法が違いますが、いずれも同じ赤色を表しています。

重要なポイント

RGB・HEX・HSLは「3種類の別々の色」ではありません。 同じ色を、それぞれ異なる方法で数値化・表現しているものです。


RGB・HEX・HSLの違い

RGB・HEX・HSLの最大の違いは、色をどのような基準で表現するかです。

RGBは「光の3原色」で表す

RGBは赤・緑・青の強さを組み合わせて色を作ります。 例えば、

rgb(255, 0, 0)

なら赤、

rgb(0, 255, 0)

なら緑、

rgb(0, 0, 255)

なら青になります。

HEXはRGBを16進数で表したもの

HEXはRGBの各数値を16進数に置き換えた表記方法と考えることができます。

例えば、

rgb(255, 0, 0)

は、

#FF0000

と表現できます。

HSLは色の特徴を分けて表す

HSLでは、色相・彩度・明度を個別に指定します。 例えば赤色を少し暗くしたい場合、

hsl(0, 100%, 40%)

のように明度だけを変更できます。

このように、HSLは色の明るさや鮮やかさを調整するときに扱いやすいのが特徴です。


CSSではどう使う?

RGB・HEX・HSLは、CSSでWebページの文字色や背景色、ボーダーなどを指定するときに利用できます。

HEXで指定する

.button {
  background-color: #007bff;
  color: #ffffff;
}

HEXはWebサイトのCSSで非常によく使われる表記方法です。

RGBで指定する

.button {
  background-color: rgb(0, 123, 255);
  color: rgb(255, 255, 255);
}

RGBを使うと、赤・緑・青の数値を直接指定できます。

HSLで指定する

.button {
  background-color: hsl(211, 100%, 50%);
  color: hsl(0, 0%, 100%);
}

HSLでは色相・彩度・明度を個別に変更しやすいため、色のバリエーションを作るときに便利です。

透明度を指定する

RGBやHSLでは、アルファ値を利用して透明度を指定することもできます。 例えばCSSでは、

rgb(0 123 255 / 50%)

のように指定できます。 HSLでも、

hsl(211 100% 50% / 50%)

のように透明度を指定できます。

このようなスペース区切りとスラッシュを使う記法は、現在のCSSで利用されているモダンな色指定方法の一つです。


RGB・HEX・HSLの使い分け

どの形式を使うべきかは、作業内容によって異なります。

HEXが向いているケース

特にWeb制作ではHEXカラーコードを目にする機会が多いため、Webデザインを始めたばかりならHEXから覚えるのもおすすめです。

RGBが向いているケース

HSLが向いているケース

Webデザインでの使い分け
  • 基本的なカラーコード → HEX
  • RGB値を直接扱う → RGB
  • 色相・彩度・明度を調整する → HSL

RGBとCMYKの違い

RGBと混同されやすい色の表現方法にCMYKがあります。

RGBはディスプレイなどで光を使って色を表現するのに対して、CMYKは主に印刷物で使用される色の表現方法です。

方式 主な用途 色の仕組み
RGB Web・ディスプレイ・デジタル画像 赤・緑・青の光
CMYK 印刷物 シアン・マゼンタ・イエロー・ブラック

Webサイトの色を指定する場合はRGB・HEX・HSLなどが一般的です。 一方、チラシやパンフレットなどの印刷物では、印刷工程に合わせてCMYKが使用されることがあります。

注意

RGBで表示した色と、CMYKで印刷した色は、同じ数値や見た目になるとは限りません。 Web用と印刷用では色の扱いが異なるため、用途に応じて適切なカラーモードを選択する必要があります。


RGB・HEX・HSLの比較表

RGB・HEX・HSLの特徴を比較すると、次のようになります。

比較項目 RGB HEX HSL
意味 赤・緑・青 16進数カラーコード 色相・彩度・明度
表現方法 0~255 00~FF 色相・彩度・明度
代表的な表記 rgb(255,0,0) #FF0000 hsl(0,100%,50%)
CSS対応 ○ ○ ○
色の調整 ○ ○ ◎
Webデザイン ◎ ◎ ◎
初心者の分かりやすさ ○ ◎ ○

どれを使えばいい?

目的 おすすめ 理由
Webサイトの色を指定する HEX シンプルで分かりやすく、CSSでよく使われるため
RGB値を直接扱う RGB 赤・緑・青の強さを数値で指定できるため
色の明るさを調整する HSL 明度を個別に変更しやすいため
色の鮮やかさを調整する HSL 彩度を個別に変更しやすいため
デザインの基本色を管理する HEX・HSL 用途に応じて使い分けやすいため
印刷物 CMYK 印刷向けのカラーモデルだから

カラーコードは相互に変換できる

RGB・HEX・HSLは、それぞれ独立した色の規格というわけではありません。 適切な計算によって、ある表現方法から別の表現方法へ変換できます。

例えば、

#FF0000

というHEXカラーコードは、

rgb(255, 0, 0)

や、

hsl(0, 100%, 50%)

として表現できます。

そのため、カラーコードを扱うツールでは、HEX・RGB・HSLの値を相互に確認できると便利です。


Webデザインではどのカラーコードを使う?

Webデザインでは、RGB・HEX・HSLのどれを使ってもCSSで色を指定できます。 そのため、「どれが正解」というものではありません。

例えば、サイトのブランドカラーを管理する場合はHEXを使い、色のバリエーションを作る場合はHSLを利用する、といった使い分けができます。

HEXを基本カラーとして使う

例えば、

:root {
  --primary-color: #007bff;
  --text-color: #333333;
  --background-color: #ffffff;
}

のようにHEXで基本色を管理できます。

HSLで色のバリエーションを作る

HSLでは色相を維持したまま明度や彩度を変更しやすいため、

などのバリエーションを作る場合にも便利です。


よくある質問

RGB・HEX・HSLは何が違いますか?

RGBは赤・緑・青の強さで色を表し、HEXはRGBの値を16進数で表したカラーコードです。 HSLは色相・彩度・明度によって色を表現します。

HEXとRGBは同じ色を表せますか?

はい。 例えば、 #FF0000 と rgb(255, 0, 0) は同じ赤色を表します。 HEXはRGBの値を16進数で表現したものと考えることができます。

HSLはRGBやHEXと違う色ですか?

いいえ。 HSLも色を表現する方法の一つです。 同じ色をRGB・HEX・HSLという異なる形式で表現できます。

WebサイトではRGBとHEXのどちらを使えばいいですか?

どちらもCSSで使用できます。 シンプルなカラーコードとして管理したい場合はHEXが分かりやすく、RGBの値を直接扱いたい場合はRGBが便利です。

HSLは何に使うのですか?

HSLは色相・彩度・明度を個別に指定できるため、色の明るさや鮮やかさを調整したり、同じ色相で複数の色を作ったりするときに便利です。

RGBはWeb専用ですか?

いいえ。 RGBはディスプレイやデジタル画像など、光を使って色を表示するさまざまなデジタル環境で利用されています。 WebサイトのCSSでも広く利用されています。

HEXカラーコードのFFは何を意味しますか?

HEXカラーコードでは、FFは16進数で255を表します。 例えば、 #FF0000 では赤の値が255、緑と青が0なので赤色になります。


まとめ

RGB・HEX・HSLは、Webサイトやデジタル画像などで色を指定するための代表的な方法です。

例えば赤色は、

方式 表記
RGB rgb(255, 0, 0)
HEX #FF0000
HSL hsl(0, 100%, 50%)

のように、3つの方法で表現できます。

Webサイトの基本的な色指定にはHEX、RGB値を直接扱いたい場合にはRGB、色相・彩度・明度を調整しながらデザインしたい場合にはHSLが便利です。

それぞれの特徴を理解しておくことで、CSSでの色指定やWebデザイン、カラーコードの変換がより分かりやすくなります。


関連ツール


関連記事