カラーコードの仕組み — HEXとRGBの違いと使い分け
コラムHEX・RGB・HSLそれぞれの読み方と、場面に応じた使い分けを解説
Webデザインやアプリ開発をしていると、#FF5733 や rgb(255, 87, 51) といった色の表記を頻繁に目にします。これらはすべて同じ色を異なる形式で表したものです。なぜ複数の形式があるのか、それぞれをいつ使うべきかを理解しておくと、デザインと実装の両方がスムーズになります。
RGBとは — 光の三原色で色を表す
コンピュータのディスプレイは、赤(Red)・緑(Green)・青(Blue)の光を混ぜて色を表現します。これが RGB です。それぞれの成分を0〜255の数値で指定し、組み合わせることで約1,678万色を表現できます。
| 色 | R | G | B |
|---|---|---|---|
| 赤 | 255 | 0 | 0 |
| 緑 | 0 | 255 | 0 |
| 青 | 0 | 0 | 255 |
| 白 | 255 | 255 | 255 |
| 黒 | 0 | 0 | 0 |
RGBは数値が直感的で、プログラムで色を計算・操作するのに向いています。CSSでは rgb(255, 87, 51) のように記述します。
HEXとは — 16進数で短く表記する
HEX(16進数)カラーコードは、RGBの各成分を0〜FFの16進数で表し、6桁にまとめた形式です。#RRGGBB の順に並んでいます。
たとえば #FF5733 は R=255(FF)、G=87(57)、B=51(33)を表します。RGBと表現できる色の範囲はまったく同じで、記法が異なるだけです。
HEXはCSSやHTMLで広く使われており、Figma・Sketch・Adobe XDなどのデザインツールでも標準的に使われています。コピー&ペーストしやすい短い形式のため、コード内での色指定によく使われます。
HSLとは — 人間の感覚に近い色の指定
HSL は色相(Hue)・彩度(Saturation)・明度(Lightness)で色を表します。RGBやHEXと異なり、人間の色の感覚に近い形で指定できます。
たとえば「同じ色相で明度だけ上げた色バリエーションを作りたい」という場合、RGBでは各値を計算する必要がありますが、HSLなら明度の数値だけを変えるだけです。デザインシステムのカラーパレット設計や、ホバー状態の色変化をCSSで表現するときに特に便利です。
形式の使い分けまとめ
- HEX:コードやデザインツールで色を指定するとき。コピー&ペーストしやすく最も広く使われます。
- RGB:プログラムで色を計算・操作するとき。透明度(アルファ値)を加えた
rgba()も便利です。 - HSL:カラーパレットの設計や、明度・彩度の調整が必要なとき。CSSの
hsl()で使えます。