カラーピッカーへ移動

HEXカラーコードとは:#RRGGBBの仕組みを解説

#1e90ffのようなHEXカラーコードは、16進数2桁の組を3つ並べたものです。それぞれが赤・緑・青の光の量を表し、00(なし)からff(最大、255)までの値をとります。4つ目の組を加えると不透明度を指定できます。80ならおよそ50%、ffなら完全に不透明です。

1分で読めます

HEXカラーコードの仕組み

画面上の色はすべて、赤・緑・青の光を混ぜて作られています。HEXコードは、それぞれの光の強さを#記号の後に2文字ずつ書きます。最初が赤、次が緑、最後が青です。これが#RRGGBBという形です。

使われる文字は16進数で、16個の数字で数える方法です。0〜9の後に、a(10)、b(11)、c(12)、d(13)、e(14)、f(15)が続きます。1組で00(0)からff(255)までの256通りを表せ、これはrgb()の範囲とぴったり同じです。

1組を普通の数値に直すには、1桁目に16を掛けて2桁目を足します。下はCSSの色名dodgerblueである#1e90ffを4つのフォーマットで示し、1組ずつ計算したものです。

例:#1e90ff
形式値
HEX
RGB
HSL
OKLCH
組チャンネル計算値
1e赤1 × 16 + 1430
90緑9 × 16 + 0144
ff青15 × 16 + 15255

つまり#1e90ffはrgb(30, 144, 255)です。赤が少し、緑がそこそこ、青が最大で、合わせると明るい空色になります。256通りの組が3つで、表せる色は16,777,216色です。

3桁と4桁のHEX省略形

どの組も2桁が同じ数字なら、各組を1文字で書けます。#ffcc00は#fc0になり、ブラウザが各桁を2つに戻して解釈します。#1e90ffには省略形がありません。1eも90も同じ数字の組ではないからです。

省略形で表せるのは約1,670万色のうち4,096色だけです。4桁にすると同じ方法で不透明度が加わり、#f008は#ff000088と同じ意味になります。

省略形完全形色
#fff#ffffff白
#000#000000黒
#f00#ff0000赤
#fc0#ffcc00暖かみのある黄色
#abc#aabbccグレーがかった青
#f008#ff000088不透明度53%の赤

HEXの不透明度:アルファ付き8桁HEX

8桁のコードでは、4つ目の組としてアルファ、つまり不透明度が加わります。形は#RRGGBBAAです。00は完全に透明、ffは完全に不透明です。現行のすべてのブラウザがCSSでこれに対応しており、4桁の省略形#RGBAも使えます。

組の値を求めるには、不透明度に255を掛けて整数に丸め、16進数に変換します。50%なら127.5で、丸めると128、16進数では80です。#1e90ffに当てはめた一覧表は次のとおりです。

不透明度アルファ(0〜255)HEXの組アルファ付きの#1e90ff
100%255ff#1e90ffff
95%242f2#1e90fff2
90%230e6#1e90ffe6
85%217d9#1e90ffd9
80%204cc#1e90ffcc
75%191bf#1e90ffbf
70%179b3#1e90ffb3
65%166a6#1e90ffa6
60%15399#1e90ff99
55%1408c#1e90ff8c
50%12880#1e90ff80
45%11573#1e90ff73
40%10266#1e90ff66
35%8959#1e90ff59
30%774d#1e90ff4d
25%6440#1e90ff40
20%5133#1e90ff33
15%3826#1e90ff26
10%261a#1e90ff1a
5%130d#1e90ff0d
0%000#1e90ff00

CSS

.overlay {
    background: #00000080;
}

.overlay-same {
    background: rgb(0 0 0 / 50%);
}

注意点が2つあります。1つ目に、80は255のうち128で、ちょうど50%ではなく50.2%です。HEXのアルファは256段階しかないので、きりのいいパーセントの多くは近似値になります。2つ目に、Androidではアルファが先頭に来ます。Androidのカラーリソースの#801e90ffは、CSSの#1e90ff80と同じ意味です。

HEXコードを見ただけで色を読み取る方法

変換しなくても色の見当はつきます。各組の1桁目を見てください。情報のほとんどはそこに詰まっています。

CSSの色名HEXRGB読み取り方
tomato#ff6347255, 99, 71赤が最大、緑と青が少し:暖かみのある明るい赤
gold#ffd700255, 215, 0赤と緑が高く、青はなし:黄色
chocolate#d2691e210, 105, 30赤が主役、緑は半分、青は低い:オレンジがかった茶色
darkturquoise#00ced10, 206, 209緑と青が高く、赤はなし:シアン
dodgerblue#1e90ff30, 144, 255青が主役、緑は中くらい:空色
mediumorchid#ba55d3186, 85, 211赤と青が高く、緑は低い:紫
teal#0080800, 128, 128緑と青が半分:暗いシアン
navy#0000800, 0, 128青だけが半分:暗い青
slategray#708090112, 128, 144ほぼ同じで、青がやや多い:青みがかったグレー
  • 1桁目が最も大きいチャンネルが主役の光です。#d2691eは赤がd、緑が6、青が1なので、オレンジがかった茶色です。
  • 2つのチャンネルが高いと混ざり合います。赤と緑で黄色、緑と青でシアン、赤と青でマゼンタや紫になります。
  • 3つの組が同じならグレーです。#333333は濃いグレー、#999999は明るいグレーです。#708090のようにほぼ同じ組なら、くすんだグレーがかった色になります。
  • 全体に数字が大きければ明るい色、小さければ暗い色です。3つの組がすべてc0以上なら淡い色、すべて30以下ならかなり暗い色です。
  • 同じ数値でも、緑は青よりずっと明るく見えます。#00ff00のOKLCH明度は0.866、#0000ffはわずか0.452です。

#808080が中間のグレーではない理由

#808080は数値の上ではちょうど真ん中で、どのチャンネルも255のうち128です。しかし見た目は黒と白のちょうど中間ではありません。OKLCH明度は0.600なので、白までの道のりの60%の位置に見えます。

HEXの値はすでにsRGBのカーブでエンコードされています。このカーブは目の感じ方におおむね沿っていますが、完全には一致しません。#808080が発する光は白のおよそ21.6%で、知覚モデルでは見た目の中間点はもっと暗いところにあります。OKLCHでは#636363、CIELABでは#777777です。

グレー意味OKLCH L白に対するコントラスト黒に対するコントラスト
#808080数値上の中間、1280.6003.95:15.32:1
#777777CIELABの中間、L* 500.5694.48:14.69:1
#767676白に対して4.5:1を満たす最も明るいグレー0.5664.54:14.62:1
#636363OKLCHの中間、L 0.50.5006.01:13.50:1

これはテキストの色を選ぶときに重要です。白地にグレー#808080のコントラストは3.95:1で、本文のWCAG AAを満たしません。4.5:1を満たす最も明るいグレーは#767676で、1段階明るい#777777はすでに4.48:1で基準を下回ります。

大文字か小文字か、#は付けるか

HEXコードは大文字と小文字を区別しません。#1E90FF、#1e90ff、#1E90ffは、CSSでもSVGでもデザインツールでも同じ色です。どれか1つのスタイルを選んで全体で統一すれば、コードを検索したときにすべての使用箇所が見つかります。CSSでは小文字が一般的です。

#記号はCSSの構文の一部で、色そのものの一部ではありません。Figmaをはじめ多くのデザインツールは#なしでコードを表示します。プログラミング言語では0xを付けた数値として書くことも多く、FlutterのColor(0xFF1E90FF)はアルファの組から始まります。

画面上の色のHEXコードを調べる方法

スポイトを使います。カーソルの下にある色を読み取ってコードを表示するツールです。どれも無料で、たいていはすでにインストールされています。

  • ChromeとEdge:F12でDevToolsを開き、Stylesパネルの色の四角をクリックして、スポイトのアイコンでページ上の色を取得します。
  • PickShade:トップページのカラーピッカーには、ChromeとEdgeで使えるスポイトボタンがあり、画面上のどこからでも色を取得できます。
  • Windows:Microsoft PowerToysをインストールし、Win + Shift + Cでカラーピッカーを開きます。
  • macOS:「アプリケーション」の「ユーティリティ」から「Digital Color Meter」を開きます。sRGBに切り替えてから、「表示」、「値を表示」、「16進数」の順に選びます。
  • Figma、Photoshopなど多くのデザインアプリ:Iキーでスポイトになります。
  • 写真やスクリーンショットの場合:画像カラーピッカーで開き、好きなピクセルをクリックします。画像が端末の外に送られることはありません。

取得した値は元の色と数値が少しずれることがあります。画面にはカラープロファイルが適用され、画像は圧縮されているためです。正確な値が必要なときは、スクリーンショットからではなく、デザインファイルやCSSからコピーしてください。

よくある質問

HEXカラーコードとは何ですか?

HEXカラーコードは#1e90ffのような6桁のコードで、色に含まれる赤・緑・青の光の量で色を表します。16進数2桁の各組は00(0)からff(255)までなので、#1e90ffはrgb(30, 144, 255)です。

HEXカラーに透明度を付けるには?

末尾に4つ目の組を加えて#RRGGBBAAにします。不透明度に255を掛けて丸め、16進数に変換するので、50%は80、25%は40、75%はbfです。たとえば#1e90ff80は、不透明度約50%のdodgerblueです。

不透明度50%はHEXでいくつですか?

不透明度50%はHEXで80です。たとえば半透明の黒は#00000080です。80は255のうち128で50.2%にあたります。HEXのアルファは256段階なので、ちょうど50%は7fと80の間になるためです。

HEXとRGBの違いは何ですか?

色の違いはなく、書き方が違うだけです。HEXは赤・緑・青の値を16進数2桁の組で、rgb()は0〜255の10進数で書きます。#ff6347とrgb(255, 99, 71)は同じトマトレッドです。

HEXカラーコードは大文字と小文字を区別しますか?

いいえ。#FF6347、#ff6347、#Ff6347は、CSS、HTML、SVG、デザインツールのどれでも同じ色です。CSSのコードベースでは小文字が多数派ですが、統一されていればどのスタイルでも問題ありません。

中間のグレーのHEXコードは?

#808080は数値上の中間ですが、見た目は中間より明るく、OKLCH明度は0.600です。黒と白のちょうど中間に見えるグレーは、#636363(OKLCH L 0.5)から#777777(CIELAB L* 50)の間にあります。

PickShadeで試す

関連ガイド